在jQuery中,你可以通过模拟事件来触发另一个DOM元素的事件。
$("#button2").on("click", function () {
$("#button1").trigger("click");
});
这样就能触发#button1的点击事件。
如果你想额外传入参数。可以在trigger函数中添加额外参数。
$("#button1").trigger("click", [arg1, arg2]);
详细的文档可参阅http://api.jquery.com/trigger/
然后当#button1接收到点击事件时
$("#button1").on("click", function (e, arg1, arg2) {
console.log(arg1, arg2);
});
这样就拿到了额外的参数。
你好,我是否可以这么理解这个问题?
在第二个button的click事件中,为第一个button的click事件中传递一个参数进去?
如果是这样的话,下面方式可供参考:
$("input:first").click(function(event,s){
if(s)
alert("event 是一个事件对象, 还有一个参数 "+s.userText);
});
$("input:eq(1)").click(function(){
$("input:first").trigger("click",{userText:"Hello World"});
});
也就是在第二个button的click事件中,使用了trigger方法,
触发了第一个button的click事件,同时传递了一个参数进去。
所以这段代码的效果就是,
点击第一个按钮无效果,因为这时候没有s传入;
点击第二个按钮,弹出信息。
--------------------------------------------------------------------------------------