我得到一个iframe
,我在其中找到一个元素。我尝试使用keyup
div添加editable
事件,但它无效...
以下是代码:
var iframebody = $(editorid).siblings().find('iframe').contents().find('body');
var div = $('<div />',
{text:textstring,
class:'txtMsg mceNonEditable',
"data-mce-contenteditable":"false",
css:{'background':'#f2f2f2','margin-bottom':'5px'}});
var msgDiv = $('<div />',
{html:msgText,class:'msgText mceEditable',
"data-mce-contenteditable":"true",
css:{'margin-bottom':'5px','outline':'0'}})
.keyup(function(){
console.log('keyup'); //not working
});
var appender = iframebody.append(div).append(msgDiv);
console.log(iframebody.find('.mceNonEditable').get(0)); //i am getting the object.
iframebody.find('.mceNonEditable').on('keyup', function () {
console.log('hi'); //not working!
});
任何人都可以解释为什么这种方法不起作用吗?
答案 0 :(得分:0)
根据Jquery官方网站find description是
获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。
将一个或多个事件的事件处理函数附加到所选元素。
由于on
是按下或释放等事件,但find
不是事件,所以
console.log('hi');
正在运作
我想如果你尝试这样的话
iframebody.find('.mceNonEditable').trigger('keyup',function () {
console.log('hi'); //not working!
});
然后你可以得到你想要的结果