zoukankan      html  css  js  c++  java
  • 关于IE6下用Jquery attr('onclick')问题

    当原代码编写者编写了如下代码

     <input id="Button1" type="button" value="button"  onclick="oldClick()"/>
        function oldClick() {
                alert('old');
            }
        function newClick() {
                alert('new');
            }
    

     我们要对onclick事件重新定义成newClick相信大家会用Jquery的attr属性重新定义

     $('#Button1').attr('onclick','newClick()');
    

     这样的IE8以上的浏览器和FF下都没有问题,如果在IE6下则新定义的事件将不会被触发,这是在做项目中碰到的情况,具体原因有时间查资料

    所以我们得换种方式来重定义事件

            $('#Button1').removeAttr('onclick');
                $('#Button1').bind('click', function () {
                    alert('newaa');
                });
    

     这样就能正确的触发新事件了

    jQuery如何重新绑定已经绑定的事件?虽然我们现在推荐行为分离,渐进增强,但在很多遗留系统里还是存在很多这样的代码

    1 <input tye="button" value="ClickMe" id="btn1" onclick="foo()" />

    就是直接在DOM元素上绑定事件

    这样做有很多缺点

    1.代码高度耦合

    2.增加HTML大小

    3.书写不了逻辑性很强的代码

  • 相关阅读:
    10月日常练习1题目描述
    普及组复赛历年考题
    9.3练习题7 子串乘积正负分类 题解
    9.3练习题6 旅行 题解
    9.3练习题4 语句解析 题解
    9.3练习题5 单词覆盖还原 题解
    unity
    矩阵快速幂
    点权和
    SCOI生日快乐
  • 原文地址:https://www.cnblogs.com/akingyao/p/2920178.html
Copyright © 2011-2022 走看看