十五、trigger和triggerHandler

$("*").bind("click",function(event,a,b){
    print(event.currentTarget.id+"--"+event.target.id+":"+(a+b));
});

$("a[href='ccc']").bind("click",function(event){
    /*
     * 使用trigger带来的好处有两个
     * 1、可以在其他的对象中调用另外一个事件
     * 2、可以为事件传递参数
     * 使用trigger依然也存在事件冒泡
     */
    $("#child").trigger("click",[2,3]);
    event.preventDefault();
});
function print(txt) {
    $("#content").append(txt+"<br/>");
}

 

 

 

$("*").not("a[href='ccc']").bind("click",function(event,a,b){
    print(event.currentTarget.id+"--"+event.target.id+":"+(a+b));
});

$("a[href='ccc']").bind("click",function(event){
    /*
     * 使用triggerHandler带来的好处是可以直接让调用的事件不冒泡
     *
     * 写事件我们可以完全按照最正常的方式来写,不用考虑事件传递
     * 在特殊的时候通过triggerHandler来调用就会阻止事件传递
     */
    $("#child").triggerHandler("click",[2,3]);
    event.preventDefault();
});
/**
 * JQuery中的其他很多事件多可以直接通过名称来完成调用
 */
$("#child").mouseover(function(event){
    $(this).css("color","#f00");
});
function print(txt) {
    $("#content").append(txt+"<br/>");
}

 

 

 

你可能感兴趣的:(triggerhandler)