触发事件

时间:2013-03-19 13:35:52

标签: javascript jquery html

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

我试图在它的mouseleave上触发相同元素的mouseup事件,但它不能正常工作,任何人都可以建议我需要更改

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

这应该可以正常工作:

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

其中“test”只是一个链接。

http://jsfiddle.net/8D26W/