javascript - 在 jQuery 中单击按钮时绑定(bind)操作不起作用

标签 javascript jquery

我有一个奇怪的问题,我使用 jQuery 函数将操作绑定(bind)到按钮(单击),当我单击按钮时没有任何反应,这是怎么回事!,这是我正在使用的代码:`

<script >
    $( '#admin' ).live( 'pageinit',function(event){
    $('#AddButton').click(function(){
            alert("Clicked")
        });​
    });
</script>

最佳答案

假设该按钮存在于初始页面源中,您需要:

  1. 输入您的<script>阻止按钮后源中的某个位置,或者
  2. 将上面的代码包装在 $(document).ready() 中处理程序。

否则JS运行时浏览器不会解析按钮的html,因此找不到按钮。

如果该按钮最初不存在,即您要动态添加它以响应某些其他事件,那么您可以使用:

$('#AddButton').live('click', function(){ ...

...类似于您已经为 admin 所做的事情一旦按钮存在,元素和处理程序将自动应用于按钮。

请注意 .live()从 jQuery 1.7 版开始已弃用,因此如果使用 1.7,您应该使用 .on() method相反,甚至在较旧的 jQuery 中, .delegate() method是优选的。 API doco for .live() 解释如何转换。

关于javascript - 在 jQuery 中单击按钮时绑定(bind)操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575400/

相关文章:

php - 在网站内加载外部页面

javascript - 选择加入/选择退出复选框

php - 将 AJAX JSON 与 PHP/MySQL 结合起来? php ://input?

javascript - 显示整个匹配单元格的脚本

javascript - Apache : CORS header 'Access-Control-Allow-Origin' missing

javascript - 使用jquery限制左右滚动以防止过度滚动

javascript - Angular2 5 分钟安装错误 - 未定义要求

javascript - 用正则表达式动态替换值

javascript - 如何从使用 jquery 添加的项目中删除属性

javascript - 一旦选择一个复选框,使用 html.checkboxfor 自动禁用其他复选框