这就像我的代码:
composer update
但是当按下中键时我想停止执行我的onclick事件。
答案 0 :(得分:0)
这样的东西会在点击中间按钮时禁用onclick
$(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>
答案 1 :(得分:0)
event.button
的值分别为0,1,2,分别代表鼠标左键,中键和右键。知道这一点,您可以利用short circuit evaluation来完成工作。
(event.button !=1 ) && !alert('li-1')
与
if(event.button != 1){
return !alert('li-i') // true (just to make sure the event it sent)
return false;
如果鼠标中键未点击,则代码段中的第一个li
将alert()
,如果未点击鼠标,则li
将alert()
<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>
用鼠标左键。
>>> from fractions import Fraction
>>> from math import ceil
>>>
>>> def vdc(n, base=2):
vdc, denom = 0,1
while n:
denom *= base
n, remainder = divmod(n, base)
vdc += remainder / denom
return vdc
>>> [vdc(i) for i in range(5)]
[0, 0.5, 0.25, 0.75, 0.125]
>>> def van_der_corput_index(sequence):
lenseq = len(sequence)
if lenseq:
lenseq1 = lenseq - 1
yield lenseq1 # last element
for i in range(lenseq1):
yield ceil(vdc(Fraction(i)) * lenseq1)
>>> seq = list(range(23))
>>> seq
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
>>> list(van_der_corput_index(seq))
[22, 0, 11, 6, 17, 3, 14, 9, 20, 2, 13, 7, 18, 5, 16, 10, 21, 1, 12, 7, 18, 4, 15]
>>> len(set(van_der_corput_index(seq)))
21
>>> from collections import Counter
>>>
>>> for listlen in (2, 3, 5, 7, 11, 13, 17, 19, 23,
29, 31, 37, 41, 43, 47, 53, 59, 61,
67, 71, 73, 79, 83, 89, 97, 1023,
1024, 4095, 4096, 2**16 - 1, 2**16):
out = list(van_der_corput_index( list(range(listlen) )))
outcount = Counter(out)
if outcount and outcount.most_common(1)[0][1] > 1:
print("Duplicates in %i leaving %i unique nums." % (listlen, len(outcount)))
outlen = len(out)
if outlen != listlen:
print("Length change in %i to %i" % (listlen, outlen))
Duplicates in 23 leaving 21 unique nums.
Duplicates in 43 leaving 37 unique nums.
Duplicates in 47 leaving 41 unique nums.
Duplicates in 53 leaving 49 unique nums.
Duplicates in 59 leaving 55 unique nums.
Duplicates in 71 leaving 67 unique nums.
Duplicates in 79 leaving 69 unique nums.
Duplicates in 83 leaving 71 unique nums.
Duplicates in 89 leaving 81 unique nums.
>>> outlen
65536
>>> listlen
65536
>>>