我的 HTML
<div>
<span class="more-available" data-completeMessage="This is the complete message you see after clicking more">Hello</span>
</div>
我动态地在末尾添加了一个锚标记,然后想将一个点击处理程序附加到锚标记。所以我这样做
$(document).ready(function() {
//Attach future proof click event to an anchor tag
$('a.more').on('click', function() {
var $parent = $(this).parent();
$parent.text($parent.data('completemessage'));
});
//Add the anchor tag
$('span.more-available').append($('<a class="more">...more</a>'));
});;
这不起作用。如果我用“live”替换“on”,它就可以工作。(但活是折旧的)
我知道我能做到
$(document).ready(function() {
$('div').on('click','a.more', function() {
var $parent = $(this).parent();
$parent.text($parent.data('completemessage'));
});
$('span.more-available').append($('<a class="more">...more</a>'));
});;
它有效,但我的问题是......
假设“on”提供了live的所有功能,我错了吗?“on”不会绑定到未来的元素吗?这是正确的行为,还是我做错了什么。
小提琴:http: //jsfiddle.net/arishlabroo/pRBke/5/