[英]how to bind a click event to an element in another click element
绑定到$(“ play”)的第二个click事件不会执行。 如何在点击事件下绑定另一个点击事件? 如果我在第一次单击事件之外编写第二次单击事件,则无法获取数据newNumber。
这段代码在slide()函数中。
var that = this;
$("#stop").click(function(){
clearInterval(set);
var newNumber = [num, numb, list]; //the value needed by click event that is binded to "play"
$("play").click(newNumber, function() {
num = newNumber[0];
numb = newNumber[1];
list = newNumber[2];
that.slide(image, num, list, numb);
});
});
您可能会混淆两个重要术语: binding
和triggering
。 您可能想在第一个事件的处理程序中触发第二个事件,但是无论如何您都想绑定两个事件。 否则,您将遇到多次绑定第二个事件但从未真正触发它的问题。
通常, 您一开始要绑定一个事件 ,但是您可以根据需要触发多次 。
var that = this;
var newNumber;
$("#stop").click(function(){
clearInterval(set);
newNumber = [num, numb, list]; //the value needed by click event that is binded to "play"
$("#play").click(); // trigger the second <=======
});
$("#play").click(function() {
num = newNumber[0];
numb = newNumber[1];
list = newNumber[2];
that.slide(image, num, list, numb);
});
但是我要问的问题是, “这个”指的是什么?
使用此方法-正确的方法是触发:
var that = this;
var newNumber = [];
$("#stop").click(function(){
clearInterval(set);
newNumber = [num, numb, list]; //the value needed by click event that is binded to "play"
$("play").click() //or $("play").trigger('click')
});
$("play").click(function() {
num = newNumber[0];
numb = newNumber[1];
list = newNumber[2];
that.slide(image, num, list, numb);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.