2017-05-26 61 views
1

我有一个名为showProduct的函数里面有一个js文件。函数未定义WordPress jQuery

在我的HTML文件我有一个提交按钮具有此javascript:

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

这得到一个输入字段的值与suggest1的ID,然后通过 的功能显示产品。这工作正常!但只要我&前加上这是我的jQuery后:

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

我得到:未捕获的ReferenceError:显示产品是不是在HTMLButtonElement.onclick

我如何能得到这个工作任何想法界定?我需要将这个函数中的所有jQuery放到WordPress中。

感谢

+1

*“我需要把这个函数中的所有jQuery与WordPress一起使用” - - 你没有,真的。如果你想在函数中继续使用'$',最简单的方法是将'var $ = jQuery;'作为函数内的第一行。 – JJJ

回答

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事件形式的,如果你不希望立即提交。