函数未定义WordPress jQuery

时间:2017-05-26 13:33:48

标签: javascript jquery wordpress

我有一个名为showProduct的函数的js文件。

在我的HTML文档中,我有一个提交按钮,其中包含以下javascript:

onclick="showProduct(document.getElementById('suggest1').value);"

这将获取id为suggest1的输入字段的值,然后传递  到showProduct函数。这很好用!但是,只要我在此之前添加此内容在我的jquery之后:

(function($) { .... })(window.jQuery);

我得到:未捕获的ReferenceError:未在HTMLButtonElement.onclick上定义showProduct

关于如何让它发挥作用的任何想法?我需要将所有jQuery放在这个函数中,以使它与WordPress一起使用。

由于

1 个答案:

答案 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事件立即