2016-06-22 3 views
0

は、これは私のコードのようなものです:停止のonClick実行するJavaScript/jQueryの

<li class="dropdown" id="dropdown1"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<b class="caret"></b></a> 
    <ul class="dropdown-menu"> 
     <li id="li-1"><a href="#" onclick="Alert("li-1")">List1</a></li> 
     <li id="li-2"><a href="#" onclick="Alert("li-2")">List</a></li> 
    </ul> 
</li> 

が、中クリックを押したときに、私は私のonclickイベントの実行を停止します。このような

答えて

0

何かが真ん中のボタンが

$(document).mousedown(function(e) { 
    if (e.which == 2) { 
    e.preventDefault(); 
    alert("middle button"); 
    $('a').prop("onclick", null); // disable onclick 
    } 
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<li class="dropdown" id="dropdown1"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<b class="caret"></b></a> 
    <ul class="dropdown-menu"> 
    <li id="li-1"><a href="#" onclick='alert("li-1")'>List1</a> 
    </li> 
    <li id="li-2"><a href="#" onclick='alert("li-2")'>List</a> 
    </li> 
    </ul> 
</li> 
0

event.buttonをクリックされるたびにonclickのは、左、真ん中、右マウスボタンを表す0,1,2の値を持つことができます無効にしますそれぞれ、そのことを知っているなら、short circuit evaluationを利用して仕事を完了させることができます。

(event.button !=1) && !alert('li-1')

は、基本的には、それはマウスの中ボタンでクリックされなかった場合、第二 li意志 alert()それがで alert()クリックされていなかったかどう

if(event.button != 1){ 
return !alert('li-i') // true (just to make sure the event it sent) 
return false; 

スニペットの最初のliと同じですマウスの左ボタンをクリックします。

<li class="dropdown" id="dropdown1"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown<b class="caret"></b></a> 
 
    <ul class="dropdown-menu"> 
 
    <li id="li-1"><a href="#" onclick="(event.button!=1) && !alert('li-1')">List1</a> 
 
    </li> 
 
    <li id="li-2"><a href="#" onclick="(event.button!= 0) && !alert('li-2')">List2</a> 
 
    </li> 
 
    </ul> 
 
</li>

関連する問題