怎么给jquery方法传值 就是点击第2个button后执行第一个button的方式 怎么给s传值

2024-11-15 22:24:35
推荐回答(2个)
回答1:

在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);
});

这样就拿到了额外的参数。

回答2:

你好,我是否可以这么理解这个问题?
在第二个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传入;
点击第二个按钮,弹出信息。
--------------------------------------------------------------------------------------