我是相当新的wordpress,并试图定义和调用一个函数,但不能让它工作。
下面的代码出现在一个php文件中,该文件是使用get_template_part从content.php文件调用的。
<div onclick="checkAllTopicCheckBoxes()"> </div>
字符串
我在function.php文件的底部添加了以下代码:
function checkAllTopicCheckBoxes() {
alert("Hello! I am an alert box!!");
}
型
当我单击元素时,它返回:
(index):363 Uncaught ReferenceError:checkAllTopicCheckBoxes is not defined.
有人能帮帮我吗
6条答案
按热度按时间vxbzzdmp1#
使用OnClick或类似属性是非常糟糕的做法。
使用JavaScript事件监听器是一种更好的方法。以现代方式注册事件是处理事件的unobtrusive way。此外,要为目标注册多个事件监听器,您可以为同一目标调用addEventListener()。
超文本标记语言:
字符串
你的JavaScript应该看起来像这样:
型
HTML属性(如Onclick)应该避免,因为它涉及内容/结构和行为没有很好地分离,使bug更难找到。
vmdwslir2#
你写的是一个JavaScript函数,它必须在HTML代码中包围。你有没有写过这样的函数:
字符串
另外,我认为WordPress必须有一些功能准备使用添加脚本。尝试看看wp_enqueue_script (string $handle, string $src = false, array $deps = array(), string|bool|null $ver = false, bool $in_footer = false);
编辑:我刚刚找到这个问题,它可能会回答你的:How to write a Javascript function inside the functions.php of Wordpress?
dw1jzc5e3#
我和你一样犯了同样的错误。
如果我们使用onclick html属性,我们需要在同一个html元素中定义onclick函数(通过使用标签)。
最好的做法是使用JavaScript/jquery创建click事件监听器,而不是使用onclick html属性。
kokeuurv4#
确保你的JavaScript函数定义在调用该方法的html元素之上:
字符串
谢谢
zengzsys5#
字符串
必须不在
<? ... ?>
中,并且必须具有<script>...</script>
换行,例如,型
或者如果你想在php脚本中包含js,你必须像这样
echo
它型
zzoitvuj6#
这也是抛出错误,如果onclick函数写在jquery内部
字符串