我有一个名为showProduct的函数的js文件。
在我的HTML文档中,我有一个提交按钮,其中包含以下javascript:
onclick="showProduct(document.getElementById('suggest1').value);"
这将获取id为suggest1的输入字段的值,然后传递 到showProduct函数。这很好用!但是,只要我在此之前添加此内容在我的jquery之后:
(function($) { .... })(window.jQuery);
我得到:未捕获的ReferenceError:未在HTMLButtonElement.onclick上定义showProduct
关于如何让它发挥作用的任何想法?我需要将所有jQuery放在这个函数中,以使它与WordPress一起使用。
由于
答案 0 :(得分:1)
当您使用on*
事件属性时,您调用的函数必须在window
的范围内。当您将代码放在IIFE中时,不再是这种情况。
<button class="foo">Foo</button>
(function($) {
$('.foo').click(function() {
var value = $('#suggest1').val();
// do something with the value here...
});
})(window.jQuery);
这里要注意的一点是按钮点击会提交任何父<form>
元素,因此如果您不想提交该元素,则可能需要挂钩到该表单的submit
事件立即