2013-03-19 128 views
0
$(this.element).live('mouseleave', function(evt){ 
$(this.element).trigger("mouseup"); 
}); 

我试图触发鼠标松开同一元素的事件上它的鼠标离开,但它没有工作正常,任何人都可以请建议我需要改变触发事件

+6

live'它已被弃用,不要使用'。 – 2013-03-19 13:37:31

+0

好的我会用在 – user2123421 2013-03-19 13:38:28

+7

请详细说明'不能正常工作'的部分。 – 2013-03-19 13:38:43

回答

1

你不断变化的环境,当你处理事件。

尝试:

$(this.element).live('mouseleave', function(evt){ 
$(this).trigger("mouseup"); 
}); 

这可能不是做什么是你正在努力实现但正确的方式 - 这是很难说没有更广泛的代码示例。

您可以声明自己的处理程序,然后调用处理每个事件的处理程序 - 这可能是更好的解决方案!

编辑

在回应评论:

你可以做这样的事情:

var myOnMouseUp = function(event){ 
    console.log('Do something on mouse up') 
} 

$(this.element).live('mouseleave', myOnMouseUp); 

$(this.element).live('mouseup', myOnMouseUp); 
+0

我无法理解“声明你是自己的处理程序,然后调用包装每个事件的处理程序”究竟是什么 – user2123421 2013-03-19 13:53:16

0

这应该很好地工作:

$("#test").on("mouseup",function(){ 
alert("Mouse up triggered!"); 
}); 
$("#test").on('mouseleave', function(evt){ 
$("#test").trigger("mouseup"); 
}); 

其中 “测试” 只是一条链接。

http://jsfiddle.net/8D26W/