javascript - jquery触发器中的触发器失败

标签 javascript jquery

$(document).ready(function(){
    jQuery("#but1").bind("click",function(e){
        alert(e.name);
    });

    jQuery("#but1").trigger({name:'Dmy', surname:'My'});
});

警报传递数据失败,这是为什么?!?警报显示“未定义”。

我哪里做错了,为什么我传不到数据?

JSFiddle在这里。

最佳答案

这是因为您传递给触发器的值作为点击处理程序的其他参数出现,因此您无法在事件对象上访问它。您需要接受一个额外的参数。

$(document).ready(function(){
    jQuery("#but1").bind("click",function(e, data){
        alert(data.name);
    });

    jQuery("#but1").trigger('click', {name:'Dmy', surname:'My'});
});

http://jsfiddle.net/RTXxY/33/

关于javascript - jquery触发器中的触发器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8550323/

相关文章:

jquery:在hover()函数中传递变量?

javascript - 使用 Jquery 在索引位置后追加元素?

javascript - 将所有子 div 彼此靠近

javascript - 如何设置新创建的 DOM 元素的 HTML 内容?

javascript - "please enter a value"当所有输入字段都已满时

javascript - jquery 1.9.1 无法解析包含转义反斜杠的 JSON

javascript - 单击后隐藏加一个按钮

javascript - 使用 breeze 和 requireJS

javascript - 我是否需要向 OAuth2 提供商(例如 google)注册域,或者可以使用我自己的 IP 地址/本地主机来发送请求?

javascript - jQuery 同位素过滤器没有项目?