我使用X-editable并尝试在用户更改时捕获元素的值,但我无法捕获更改的值,总是得到前一个。
ex:原始值为'a',第一次:将其更改为'b'但得到'a'。第二次将其改为'c'但得到'b'。
我使用保存事件,因为更改事件不起作用。
page.blade.php
<a class='editable' href="#" name='id' data-pk='{{$item->id}}'>{{$item->id}}</a></th>
脚本
$('.editable').on('save', function(e){
console.log(e.target.getAttribute('data-pk')+' '+e.target.text+' '+e.target.getAttribute('name'));});
答案 0 :(得分:0)
div永远不会触发change
事件,因为它为用户可以操作的输入保留。
如果您仍想听取对div的内部HTML所做的更改,您可以尝试以下操作,而这可能在Internet Explorer或旧版浏览器中无效:
$(function() {
$('div.editable').on('DOMSubtreeModified'), function(e) {
console.log(e.target.getAttribute('data-pk')+' '+e.target.text+' '+e.target.getAttribute('name'));});
}
}
注意不要覆盖事件处理程序中div的内容,否则会导致无限循环。我建议您通过阅读MDN文章link
来扩展您对DOMSubtreeModified
事件的了解。