2010-03-02 61 views
1

我用C#構建了一張照片庫。用戶可以按住Shift並點擊一次選擇多張照片。我使用System.Windows.Forms.Control.ModifierKeys屬性來確定是否在鏈接按鈕的OnClick事件中按下了shift,但發現它只能在IE中使用。在Firefox中,Shift + Click打開一個新窗口,似乎繞過按鈕的OnClick事件。什麼是通過這個獲得好的解決方案?Shift +點擊Firefox中的Linkbutton打開新窗口而不是點擊OnClick

回答

2

您需要利用javascript攔截點擊並阻止默認操作。我會建議看看這樣做的JQuery。

我實際上做了類似的反向方向,我使用H1標籤的img替換方法使它們可以鏈接,並允許它們移動單擊圖像並啓動新窗口。

這是成功的一半編碼自由流動,所以它可能需要一些調整,但它是類似於

<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>