0

我是一个初学者,目前正在构建一个简单的 jQuery 脚本,当我拖出它的界限时,我希望我的动作发生。所以我正在考虑检测mousedown,并在其功能内部有一个mouseleave。

但是发生的事情并不是我所期望的,因为每次我将鼠标移到它上面时 - 无需单击,事件就会被触发。

这是我整理的代码。

 $(document).ready(function() {
   $(".box").mousedown(function() {
     $(".box").mouseleave(function() {
       alert("Hello world!");
     });
   });
 });

非常感谢帮助,thanx!

4

3 回答 3

1
   $(".box").mousedown(function() {
     alert('mousedown');
     $(this).addClass('imclicked');
   }).mouseleave(function() {
       if($(this).hasClass('imclicked')) {
         alert("Hello world!");
         $(this).removeClass('imclicked');
       }
   });;
于 2012-06-12T11:10:38.003 回答
0

尝试这个:

$(document).ready(function() {
    $(".box").mousedown(function() {
        $('.box').addClass('clicked');
    });
    $(".box").mouseleave(function() {
        if ($(this).hasClass('clicked')){
            $(this).removeClass('clicked');
            alert("Hello world!");
        }
     });
 });

只有在有 CSS 类mouseleave时才会继续,然后将删除该类,停止再次触发。.boxclickedmouseleave

于 2012-06-12T11:17:07.487 回答
0

触发后解除绑定事件:

$(".box").mousedown(function() {
    $(this).mouseleave(function(){
        $(this).unbind('mouseleave');
        alert("Hello world!");
    })
})
于 2012-06-12T11:21:40.667 回答