wordpress一个标签onClick问题

时间:2013-11-23 16:19:27

标签: javascript jquery wordpress onclick

我在将自制的幻灯片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

1 个答案:

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