Я использовал C# для создания галереи фотографий. Пользователи могут удерживать клавишу Shift и щелкать, чтобы выбрать несколько фотографий одновременно. Я использовал свойство System.Windows.Forms.Control.ModifierKeys, чтобы определить, нажимается ли сдвиг в событии OnClick кнопки ссылки, но обнаружил, что оно работает только в IE. В Firefox Shift + Click открывает новое окно и, кажется, обходит событие OnClick кнопки. Какое хорошее решение для этого?
Shift + Click кнопки Link в Firefox открывает новое окно вместо запуска OnClick
Ответы (1)
Вам нужно будет воспользоваться javascript, чтобы перехватить щелчок и предотвратить действие по умолчанию. Я бы рекомендовал посмотреть на JQuery для этого.
На самом деле я сделал что-то подобное в обратном направлении, где я использовал методологию замены img для тегов H1, чтобы сделать их связываемыми и позволить им сдвигать щелчок по изображению и запускать новое окно.
Это наполовину закодированный свободный поток, поэтому может потребоваться некоторая настройка, но он будет похож на
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('img.selectable').mouseup(function(e) {
if (e.ctrlKey || (!$.browser.msie && e.button == 1)
|| ($.browser.msie && e.button == 4)) {
//middle mouse button or ctrl+click
//(need to lookup values for shift)
//do something meaningful
}
else {
//normal left click
}
})
.click(function(e) { e.preventDefault(); });
});
</script>
person
Chris Marisic
schedule
02.03.2010