我在将自制的幻灯片jQuery脚本集成到wordpress中时遇到了一些麻烦。
到目前为止,我已经学会了必须使用wp_enqueue_script集成脚本的困难方法,但现在我遇到我在标签上的onclick运行我的函数,我用来更改幻灯片等的函数等。
在我自制的幻灯片脚本中,我将所有jQuery代码都包装成了一个包装器
(function($) { // OPEN WRAPPER
// SCRIPTS
})(jQuery); // CLOSE WRAPPER
更好地解释我的问题是一些理论上的虚拟代码:
jQuery幻灯片脚本:
(function($) { // OPEN WRAPPER
$(window).load(function() {
// INIT my slideshow
});
function callJsFunction(num){
alert("function executed perfectly"+num);
};
})(jQuery); // CLOSE WRAPPER
Html文件:
...
<a href="#" onclick="callJsFunction(3); return false"> CLICK ME </a>
...
无论我在Wordpress 3.7.x中尝试什么,血腥功能都不会运行,任何想法为什么这不起作用?,我已经搜索了很长时间但没有找到答案,任何关于新手的家庭酿造的文章对于jQuery到WP也将不胜感激:D
答案 0 :(得分:2)
callJsFunction
位于另一个自执行函数范围内,并且在该函数范围之外不可用,因此您无法从锚点调用。
(function($) { // creates new scope (and BTW does not wait for DOM ready)
function callJsFunction(num){} // only available inside this scope
})(jQuery);
删除内联事件处理程序:
<a href="#" id="something_unique" data-num="3"> CLICK ME </a>
并使用jQuery
jQuery(function($) {
$('#something_unique').on('click', function() {
var num = $(this).data('num');
alert("function executed perfectly" + num);
});
});