我有下面的代码用于模拟文本框:
<label for="alertCmpVal">ALERT VALUE:</label>
<span class="center textBox displayField highlight" id="alertCmpVal" contenteditable> <?php print $alert_val;?> </span>
我需要知道内容何时发生变化,例如我点击它,并将其从 0 更改为 1。
I tried:
$(document).ready(function()
{
$(document.body).on('change','#alertCmpVal',function()
{
alert("boo");
$('#alertCmpVal').removeClass('highlight');
})
}
但这似乎不起作用。
(n.b. $(document.body
) 使用是因为在我的主页上,初始字段是动态加载的)
我猜这是它不喜欢的“改变”,但不知道用什么来取代它。 (jQuery / HTML5 很好,因为它仅在内部使用)。
我见过一些例子,但它们通常似乎适用于更复杂的场景,需要多个函数来检测某些其他事情发生时的变化,但我认为必须有一个更简单的解决方案,类似于on change
方法。
您可以利用这个活动DOMSubtreeModified
:
$("span").on('DOMSubtreeModified', function () {
alert("Span HTML is now " + $(this).html());
});
Snippet
$(function () {
$("a").click(function () {
$("span").html("Hello, World!");
});
$("body").on('DOMSubtreeModified', "span", function () {
alert("Span HTML is now " + $(this).html());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span>Hello</span>
<a href="#">Click</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)