点击事件在jquery中的IE7中不起作用

时间:2013-06-27 13:38:51

标签: jquery

我想在标签上动态添加一个函数,该标签在除IE7之外的所有浏览器上都能正常工作。

<head>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
function show(num){
if(num==1){
$('#one').removeAttr('onclick')
$('#two').attr('onclick','show(1)')
alert(0)
}}
</script>
</head>
<body>
<a href="javascript:void(0)" onclick="show(1)" id="one">one</a>
<a href="javascript:void(0)" id="two">two</a>
</body>
</html>

3 个答案:

答案 0 :(得分:5)

这不是附加/分离事件处理程序的正确方法。 您可以尝试使用此方法。

$('#one').off('click');
$('#two').click(function() { show(1); });

.click().on('click')

的包装函数

答案 1 :(得分:2)

由于您使用的是jQuery,因此使用它来注册事件处理程序而不是使用onclick属性

您可以使用.one()事件注册,因为您只想调用一次事件处理程序,而不是使用.on().off()

jQuery(function(){
    function handler(num){
        alert(num)
    }
    $('#one').one('click', function(){
        handler(1);
        $('#two').on('click', function(){
            handler(1);
        });
    })
})

答案 2 :(得分:-3)

取自http://forum.jquery.com/topic/click-not-working-for-ie7-8

  

我有一个死的简单的.click()事件设置为id为的div   NEXTLINK。这在所有“真正的”浏览器中都能很好地工作。

$('#nextLink').click(function () {
       alert("nextLink here");
       });

      <div id="nextLink">Next</div>