Javascript $(此项)未定义且不';t使用相同的函数返回选择器
在两个不同的事件上使用函数Javascript $(此项)未定义且不';t使用相同的函数返回选择器,javascript,jquery,Javascript,Jquery,在两个不同的事件上使用函数main()时出现问题。第一个事件是: $buttonStart.on('click', main); 在第二个事件中,我还需要做其他事情,所以是这样的: $buttonDelay.on('click', function () { otherFunction(); main(); }); main()函数在末尾使用jQuery函数: $(this).ripple(100); 所以,问题是在第一种情况下,它工作得很好,而在第二种情况下,它说: 未捕
main()
时出现问题。第一个事件是:
$buttonStart.on('click', main);
在第二个事件中,我还需要做其他事情,所以是这样的:
$buttonDelay.on('click', function () {
otherFunction();
main();
});
main()
函数在末尾使用jQuery函数:
$(this).ripple(100);
所以,问题是在第一种情况下,它工作得很好,而在第二种情况下,它说:
未捕获的TypeError:无法读取未定义的属性“defaultView”
我不知道该怎么做来解决这个问题,也不知道为什么它的行为会有所不同
谢谢您的帮助。您可以使用
函数.prototype.call()
将此设置为$buttonDelay
在其他函数
,主
中,您还可以将事件对象作为调用的第二个参数传递给函数
main.apply(这个,参数)
“为什么它的行为不同”因为在第二个示例中,main
的调用与第一个示例中的调用不同。你需要这样做。
$buttonDelay.on("click", function (event) {
otherFunction.call(this, event);
main.call(this, event);
});