javascript - 在 WordPress 中添加自定义 JavaScript 文件
问题描述
我有一个子主题,其中有一个页面 test.php。在此页面中,我有一个选择元素。When value of option is RED then heading should be displayed. 我为此编写了 JavaScript 代码,但它不起作用。PHD 和 JavaScript 代码如下所述。
<Select id="colorselector">
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="blue">Blue</option>
</Select>
<div id="red" class="colors" style="display:none">
<h1>Red</h1>
</div>
JavaScript 是
<script>
$(document).ready(function(){
$('#colorselector').on('change', function() {
if ( this.value == 'red')
{
$("#red").show();
}
else
{
$("#red").hide();
}
});
});
</script>
我将 JavaScript 代码写入文件 custom.js 中,该文件与 test.php 和 style.css 位于同一文件夹中。我将以下代码放在子主题的function.php中。
add_action('wp_enqueue_scripts', 'tutsplus_enqueue_custom_js');
function tutsplus_enqueue_custom_js() {
wp_enqueue_script('custom',
get_stylesheet_directory_uri().'custom.js', array(), false, true);
}
未达到预期输出...我错过了什么?谁能指导我?
我也遵循链接中的方法 2 。我在function.php中使用了以下代码,但它不起作用。
function wpb_hook_javascript() {
?>
<script>
$(document).ready(function(){
$('#colorselector').on('change', function() {
if ( this.value == 'red')
{
$("#red").show();
}
else
{
$("#red").hide();
}
});
});
</script>
<?php
}
add_action('wp_head', 'wpb_hook_javascript');
解决方案
遵循以下代码:
将以下代码添加到您的 functions.php 文件中
add_action('wp_footer', 'my_code');
function my_code(){
?>
<script>
jQuery(document).ready(function($){
$('#colorselector').on('change', function() {
if ( $(this).value == 'red')
{
$("#red").show();
}
else
{
$("#red").hide();
}
});
});
</script>
<?php
}
跳这将解决您的问题。
推荐阅读
- arrays - 如何修改 PostgreSQL 中特定 JSONB 键下的数组?
- django - Django 使用 HiddenInput 小部件形成 ValueError
- flutter - Flutter 中的 GridView.count 与 GridView.builder 的区别
- three.js - AFrame & Three.JS 检测帧之间发生的移动点和框之间的碰撞
- php - Opcache 预加载和缺少 App_KernelProdContainer.preload.php
- javascript - 在 iOS webview 移动设备中执行 document.execCommand("copy") 后键盘触发
- introscope - Introscope 企业管理器不启动
- cmake - 如何使用所需 3rd 方库的自定义版本编译 wxWidgets
- mysql - Mysql将十六进制字符串转换为十进制字符串
- asp.net-core - 在启动时检索给定操作的路由模板