如何使用jquery为div动态添加click事件

时间:2013-05-31 11:11:35

标签: javascript jquery jsp

我正在动态加载div并使用

绑定div的click事件

$(jq(userData.email)).live('click', function() { alert('hello from binded function call'); });

这里我使用emailid(a@b.com)作为div id。我正在使用jq方法来解析id。执行后,显示“无法识别的表达式”:#a@b.com

这是jq方法,我用来解析

function jq( myid ) 
{
    return "#" + myid.replace( /(:|\.|\[|\])/g, "\\$1" );
}

2 个答案:

答案 0 :(得分:2)

你必须逃避特殊字符:

$("#abc\\@abc").doSomething();

查看jQuery docs

Please also notice that .live() is deprecated (and removed in jQuery >= 1.9)

答案 1 :(得分:1)

  

a@b.com不是有效身份证件。

     

ID和NAME令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,数字([0-9]),连字符(" - "),   下划线(" _"),冒号(":")和句号("。")。

见下面的问题 What are valid values for the id attribute in HTML?