WordPress jQuery工作但不是警报功能

时间:2014-05-02 08:48:11

标签: php jquery wordpress wordpress-plugin

我正在使用WordPress插件,并且我已经包含了jQuery。由于某些非常奇怪的原因,alert函数未显示。请参阅以下代码:

$("#my_button").click(function() {
      alert('before hide/show');  
      $('#divA').hide();
      $('#divB').show();
      alert('after hide/show'); 
});

在上面的代码中divA实际上是隐藏的,divB显示出来,所以这意味着jQuery 正在工作,但是奇怪的是没有正在显示alert

我正在后端的插件选项页面中运行代码。

为什么会这样?

5 个答案:

答案 0 :(得分:1)

问题是Firefox缓存。这是我预期的最后一件事,但是在做了Alt F5之后它开始工作了。

不确定,如果是Wordpress问题或只是FF浏览器,但这对我进行了排序。

无法相信这是最简单的事情:o /经验教训......如果代码不起作用且没有意义,请按ALT F5优先。

答案 1 :(得分:0)

您的准则工作正常。 你可以在FIDDLE看到。

检查您的其他代码。可能你的另一个功能或其他东西阻止显示警报?

或者将您的代码放在ONLOAD表单上。

$(function() {
});

答案 2 :(得分:0)

你有没有调用任何jQuery文件

尝试在代码之前添加以下内容

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

答案 3 :(得分:0)

警告功能被其他一些代码覆盖。这就是为什么它没有显示警报框的原因。

你可以看一下这个例子,然后你可以理解我的意思

function alert(param)
{
// do nothing
}

alert("Call message"); // this will not show up anything because the system function is override

答案 4 :(得分:0)

我有同样的问题。它没有做一个简单的警报。我解决的方式只是包括jQuery。(文档).ready 之后 wp_enqueue_script这样:

<?php
add_action( 'wp_enqueue_script', 'load_jquery' );
function load_jquery() {
  wp_enqueue_script( 'jquery' );
}
?>

//call jQuery
jQuery.(document).ready(function(){
  alert('test');
});