我可以在我的网页上动态添加链接,但它似乎不是我的javascript代码识别的链接:
添加链接的Javascript代码:
var myLink = $('<a>',{
text: 'My Link',
id : 'link-1',
href: '#'
}).appendTo('#book');
访问该链接的Javascript代码:
$("#link-1").click(function () {
alert('link-1 clicked');
});
但是当我点击创建的新链接时,没有提醒。
你知道我如何解决这个问题吗?
提前感谢您的帮助
答案 0 :(得分:1)
以下是使用.on()
$('#book').on("click", "#link-1", function (e) {
alert('link-1 clicked');
})
注意:这假定在设置绑定时{d}已经在dom中。{/ p>
<强>更新强>
由于您将要添加其他链接,因此您需要使用公共类来定位这些锚点:
#book
现在你可以将绑定目标定位到那些锚点:
var myLink = $('<a>',{
text: 'My Link',
class : 'my-anchor', // <-- notice I replaced id with class
href: '#'
}).appendTo('#book');
重要说明:您的文档中不能包含重复的$('#book').on("click", ".my-anchor", function (e) {
alert('my-anchor clicked');
})
属性值 - 这会使您的HTML无效并导致JavaScript中出现意外行为。
答案 1 :(得分:0)
在绑定&#34;点击&#34;之前,您需要创建链接。事件,否则无效。
或者,使用jQuery.live绑定页面上可能不存在的元素事件。
示例:
$(&#34;#link-1&#34;)。live(&#39; click&#39;,function(){ 提醒(&#39; link-1点击&#39;); });