这是一个插件,用于绑定元素上的click
事件,该事件生成一个带有<textarea>
的容器,然后在这个新{{1}上绑定一个keypress
事件一切正常,但在<textarea>
处理程序中,我只能从最初keypress
发生时获得text().length
状态。
如何在click
发生时获取onKeyPress函数以获取<textarea>
的状态?
keypress
答案 0 :(得分:1)
你可以尝试:
return this.each(function(i,e){
var el = $(e), initText
el.live('click', function() {
initText = el.text();
el.parent().append(options.editContainer);
el.parent().find(".editContainer>textarea").html(initText);
// isn't this function remembering the state for when its is defined? which is on keypress?
return function(){
el.parent().find(".editContainer>textarea").bind("keypress",options.onKeyPress)
}()
})
})
尚未测试对不起
答案 1 :(得分:0)
我遇到了问题,
不是通过.html()
方法获取当前值,
我使用了.val()
原因如下:
.html()
上使用的<textarea>
方法仅查看textarea
的初始状态,当您.val()
时,它会采样最新值。