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