我有以下代码,并想从使用 live() 方法更改为使用 on() 方法:
$('.commenttext').live('keydown', function(e) {
if ((e.which == 13) && !e.shiftKey) {
comment($(this));
return false;
}
});
它是关于评论一篇文章 - 也是使用 on() 方法动态创建的一篇文章。如果我像这样仅将“live”一词更改为“on”
$('.commenttext').on('keydown', function(e) {
if ((e.which == 13) && !e.shiftKey) {
comment($(this));
return false;
}
});
那么它只适用于不是即时创建的项目。
更新 1
我将代码更改为以下内容:
$('.commentsDiv').on('keydown', '.commenttext', function(e) {
if ((e.which == 13) && !e.shiftKey) {
comment($(this));
return false;
}
});
commentsDiv 是 commenttext 的父元素,但它仍然不适用于动态创建的元素。例如,以下函数动态创建 commentsDiv:
$('#postDiv').on('keydown', '#posttext', function(e) {
if (e.which==13 && !e.shiftKey) {
post($(this));
return false;
}
});
有谁知道如何正确调整?
谢谢 :)