单个WordPress页面上的JavaScript函数
Single JavaScript function on individual WordPress Page
我已经通读了几篇关于如何将JavaScript添加到WordPress页面的文章,尽管它对我的需求来说过于复杂。我有这个小脚本(见下文),我希望它只在一页上工作。我原以为在主要内容之后将其添加到<script>
标签中就可以了,但我在控制台中遇到了以下错误:
未捕获类型错误:未定义不是函数
尽管脚本在控制台中运行良好,但它不起作用。
对于这个脚本,我必须使用复杂的方法还是有更简单的方法?
$('#tSubmit').on('click', function() {
var amt = +$('#tCount').val(),
tier = $('#tType').val(),
h = +$('#tH').val() > 0 ? +$('#tH').val() : 0,
m = +$('#tM').val() > 0 ? +$('#tM').val() : 0,
s = +$('#tS').val() > 0 ? +$('#tS').val() : 0,
time = ((h*60+m)*60+s)/amt;
alert('Individual time for Tier ' + tier + ' troops: ' + time.toFixed(2) + ' seconds');
});
在WordPress中,jQuery是使用jQuery.noConflict()
函数加载的,这意味着$
变量被别名为jQuery
,以免与其他Javascript库发生冲突。
只要将$
替换为jQuery
,就可以将javascript包含在页面模板中,甚至包含在帖子内容中(如果您使用的是文本编辑器,而不是视觉编辑器)。
jQuery('#tSubmit').on('click', function() {
var amt = +jQuery('#tCount').val(),
tier = jQuery('#tType').val(),
h = +jQuery('#tH').val() > 0 ? +jQuery('#tH').val() : 0,
m = +jQuery('#tM').val() > 0 ? +jQuery('#tM').val() : 0,
s = +jQuery('#tS').val() > 0 ? +jQuery('#tS').val() : 0,
time = ((h*60+m)*60+s)/amt;
alert('Individual time for Tier ' + tier + ' troops: ' + time.toFixed(2) + ' seconds');
});
如果您不想更改代码,可以将jQuery
变量传递到以$
为参数的函数中,并按原样使用代码。
(function($){
// your code goes here and jQuery is known as $
// $(document).on()... or whatever
})(jQuery);
为什么不尝试为该功能创建一个单独的js文件(并在jQuery(document).ready()上执行它),然后用wp_enque_script('scrip-name','script-url',array('jQuery'))从页面中引用它呢。这将使您的脚本在加载jQuery之后加载。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在全局范围中查找JavaScript函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 如何调用这个匿名 JavaScript 函数
- 通过Ajax将JavaScript函数传递给PHP文件
- 在javascript函数中设置全局变量
- 如何在执行此特定onclick事件时执行JavaScript函数
- 使用javascript函数在页面初始化后加载jquery
- javascript函数同步
- 如何将一个JavaScript函数回调为多个函数
- 在javascript函数中使用php变量
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 将JavaScript函数与HTML分离
- 组合两个javascript函数
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- javascript函数内部的代码用逗号而不是分号分隔
- href属性内的javascript函数
- 使用html表单中的参数调用JavaScript函数
- 分析Javascript函数中的多个对象
- javascript函数的:和=之间的区别