0

的js代码是在这里添加单击功能不起作用

var s = "<a id='clickmodifybasic'>修改</a>" 

    $("#basicinfoerrordlg").html(s); 
    $("#clickmodifybasic").click(modifybasicinfo); 
    $("#basicinfoerrordlg").dialog("open"); 
    return false; 

它在Chrome很好地工作,但在IE8不好。 我以前有类似的错误。 我从IE8的开发工具中获得以下代码。 <A id=clickmodifybasic jQuery1289741833331="94">修改</A>

+0

请详细说明“IE8不好” - 当您点击IE8中的链接时会发生什么?开发人员工具中的代码并不相关,jQuery使用“即时代码”绑定事件,您不会在HTML代码本身中看到它。 – 2010-11-14 13:57:20

+0

什么是'modifybasicinfo'?这是一个功能吗? – 2010-11-14 13:58:08

回答

0

假设您已经定义了modifyBasicinfo()函数,请尝试此代码。

var s = "<a id='clickmodifybasic'>修改</a>"; 

    $("#basicinfoerrordlg").html(s); 
    $("#clickmodifybasic").click(function() { modifybasicinfo(); }); 
    $("#basicinfoerrordlg").dialog("open"); 
    return false; 

不要忘记你的“;”变量声明后的分隔符,我已经为你添加了这个。 希望这有助于。

+0

没有必要对函数进行匿名封装,这只会导致额外的开销*和*丢失this(上下文)。 – 2010-11-14 14:02:36

+0

感谢您指出这一点,我自己对JS很感兴趣。 – Kieran 2010-11-14 14:03:43

0

@WangXing,我刚才在IE8测试与此完全相同的代码:

<script type="text/javascript"> 
function ModifyBasicInfo() 
{ 
    alert("clicked"); 
} 

$(function() { 
    var s = "<a id='clickmodifybasic'>קישור</a>" 
    $("#basicinfoerrordlg").html(s); 
    $("#clickmodifybasic").click(ModifyBasicInfo); 
}); 
</script> 
<div id="basicinfoerrordlg"></div> 

它能正常工作,然后点击链接时,所以这个问题必须与你使用的对话框插件警报出现。这是什么插件?你能发布链接,以便我们可以重现此行为?

+0

他使用的是jQuery UI,而且我已经使用过像之前展示过的代码,并且工作正常,所以我很怀疑它是如此。 – Juan 2010-11-14 16:41:55