2010-03-02 2 views
1

Я использовал C# для создания галереи фотографий. Пользователи могут удерживать нажатой кнопку «Сдвиг» и одновременно выбирать несколько фотографий. Я использовал свойство System.Windows.Forms.Control.ModifierKeys, чтобы определить, нажата ли сдвиг в событии OnClick кнопки ссылки, но обнаружите, что он работает только в IE. В Firefox Shift + Click открывает новое окно и появляется в обход события OnClick. Какое хорошее решение для этого?Shift + Click of Linkbutton в Firefox открывает новое окно вместо стрельбы OnClick

ответ

2

Вам нужно будет воспользоваться 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> 

 Смежные вопросы

  • Нет связанных вопросов^_^