我正在使用jquery事件,並且我在mousedown
時候在鼠標指針的位置添加了一個新元素,並且在添加元素之後綁定的click
事件沒有被觸發。`mousedown`事件期間添加新元素防止觸發`click`事件?
任何建議是可觀的。
在此先感謝。
馬杜
代碼:
<div style="border:1px solid">Click</div>
<span></span>
<div class="vis" style="display:none">Hello</div>
<script>
var visualEle = $('div.vis');
visualEle.css({border:"1px solid"});
$('a').on("click", function (e) { e.preventDefault();});
$('div').on("mousedown", mDown);
$('div').on("mouseup",mUp);
function mDown(e) {
e.preventDefault();
visualEle.css({ left: 100, top: 0, display: "block" });
}
function mUp(e) {
e.preventDefault();
$('span').append('mouse up triggerd<br/>');
return false;
}
$('p').on("click",dClick);
function dClick(e) {
$('span').append('double click triggerd<br/>');
}
</script>
在上面的代碼中mousedown
完成後,則不會觸發事件click
。根據this文件
的
click
事件被髮送到一個元件,當鼠標指針在元件和鼠標按鈕被按下並在你的情況鼠標點釋放
的原因是爲了點擊觸發事件,你需要有鼠標向下和向上的相同情況發生元素,但由於您要將div元素移動到鼠標座標,mouseup事件將觸發div元素,因此單擊事件不會被觸發... –
如果可能,請使用'mouseup'事件 - http:// jsfiddle .net/arunpjohny/2WcYB/6/ –