js修改id后无法触发事件-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

js修改id后无法触发事件

2016-05-31 09:13:32 1780 1

比如一个按钮的id是secondary_search
因为某个事件我把这个按钮的id换成了batch_secondary_search

但是这时候

$('#appointForm').on('click','#batch_secondary_search',function(){}
无法触发

触发的还是

$('.modal-footer #secondary_search').on('click',function(){
这是为啥

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:21:16
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="script/jquery_2_1_3/jquery-2.1.3.min.js"></script>
        <script>
            $(function(){
    
                $('.modal-footer #secondary_search').on('click',function(){
                    console.log('#secondary_search click');
                });
    
                $('#appointForm ').on('click','#batch_secondary_search',function(){
                    console.log('#batch_secondary_search click');
                });
    
                $('#changeButton').on('click',function(){
                    console.log('changeButton');
                    $('#secondary_search').attr("id","batch_secondary_search");
                });
            });
        </script>
    
    </head>
    <body>
    <from id="appointForm" onsubmit="javascript:return false;">
        <div class="modal-footer">
        <button id="secondary_search">ButtonA</button>
    
        </div>
        <button id="changeButton">Change[ButtonA]ID</button>
    </from>
    </body>
    </html>

    在修改ID前点击按钮#secondary_search(ButtonA),将输出 #secondary_search click
    点击#changeButton按钮,修改原#secondary_search(ButtonA)按钮的ID为batch_secondary_search后,
    再点击ButtonA,将输出#secondary_search click和#batch_secondary_search click

    我们看到原绑定到ButtonA事件一并被触发了,这是因为$('.modal-footer #secondary_search').on('click'执行后将click的回调函数绑定到ButtonA这个DOM元素上了,只要这个DOM元素存在,无论其属性怎么变化,只要可被点击,click回到函数就会被执行

    $('#appointForm ').on('click','#batch_secondary_search'事件添加到#appointForm这个DOM元素上,利用事件冒泡机制,当#appointForm这个DOM元素下的子元素发生点击事件后,回去判断当前冒泡到的DOM元素是否符合#batch_secondary_search这个selector的要求,如果符合,绑定的事件回调函数就被执行,如果不符合,就会跳过这个DOM元素~~~

    0 0
相关问答

1

回答

Outlook Express发送邮件失败错误号0x800CCC78

2018-01-29 13:14:13 3443浏览量 回答数 1

3

回答

邮箱无法发送邮件,请解决

2017-11-16 17:52:39 2046浏览量 回答数 3

1

回答

邮箱无法发送

2017-11-10 10:45:32 1861浏览量 回答数 1

0

回答

通过信息模板ID提交修改联系人信息任务

2017-10-17 15:13:07 1547浏览量 回答数 0

1

回答

isv修改套件问题

2016-10-12 11:28:47 2450浏览量 回答数 1

1

回答

jqGrid如何传递id修改URL?

2016-07-06 15:08:17 3302浏览量 回答数 1

1

回答

E-MR spark 有读写odps 的java例子吗

2016-06-20 16:18:57 2250浏览量 回答数 1

1

回答

jquery如何获取同一class的div的所有ID值并取出最大值

2016-06-03 14:34:36 3277浏览量 回答数 1

2

回答

用Java上传的war包运行后,提示无法连接数据库,请大神告诉我,应该怎么弄,MyEclipse上怎么配,mysql上怎么配?谢谢谢谢!!

2016-01-20 20:42:53 5648浏览量 回答数 2

4

回答

Re邮箱无法发送邮件

2015-09-09 21:15:06 4107浏览量 回答数 4
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载