php - 我无法收到火灾警报。我缺少什么?

标签 php jquery

我无法收到开火警报。我缺少什么? (下面的代码位于 WP 插件内)

<?php
wp_enqueue_script('jquery');
?>
<script type="text/javascript">
    jQuery('#myTest').click(function(){alert('hi');});
</script>
<?php
    echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>

最佳答案

脚本在元素之前处理,因此当您分配处理程序时,#myTest 不存在。交换它们:

<?php
    echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>
<script type="text/javascript">
    jQuery('#myTest').click(function(){alert('hi');}));
</script>

或者,您可以使用live()它允许将事件绑定(bind)到尚不存在的元素:

<script type="text/javascript">
    jQuery('#myTest').live("click", function(){alert('hi');}));
</script>
<?php
    echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>

或者利用 jQuery 的 ready()处理程序,当所有元素都被解析后将触发:

<script type="text/javascript">
    jQuery(document).ready(function ($) { 
        $('#myTest').click(function(){alert('hi');}));
    });
</script>
<?php
    echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>

请注意,在最后一个示例中,我在传递给函数的 $ 参数中为 jQuery 命名空间添加了别名。这允许您在 WordPress 中使用 $ 进行 jQuery,而不是一直输入 jQuery

关于php - 我无法收到火灾警报。我缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135835/

相关文章:

jquery - Bootstrap 选项卡在“下一个”和“上一个”按钮上移动

jquery - 如何使新的html 5数据列表输入立即打开?

javascript - onload 使用 bootstrap 打开模态弹出窗口?

javascript - 在新的 WordPress PHP 文件中访问 $wpdb, "require wp-load.php"不起作用

php - 隐藏购物车上的计数器 Wordpress

php - 路线 ID 不起作用

jquery - 存储 jQuery 代码以供稍后使用 $(window).resize()

php - 选择特定的 MYSQL 行

php - 在接下来的第 4 列中查找 CI 数据库错误

javascript - Bootstrap 表单验证或必需在 Ajax 提交时不起作用