我有一个函数,只需使用以下代码行
即可禁用所有select
个元素
$('select').prop('disabled', true);
然而,它适用于DOM中已存在的所有选择元素。有几个地方使用javascript / jquery添加select
个元素。上面的代码行不会禁用这些元素。一种解决方法是每次将select
个元素添加到DOM时调用该特定插件,但这将需要大量的工作和需求。
是否有更好的方法可以停用所有这些选择元素?
答案 0 :(得分:0)
你可以试试somoething这样:
$('body').on('DOMNodeInserted', 'select', function () {
$(this).prop('disabled', true);
});
编辑:似乎不推荐使用 DOMNodeInserted 。因此,您应该使用 MutationObserver 。
如果您需要IE9 / 10支持,可以查看 Polyfill 。
答案 1 :(得分:0)
<a id="myBtn" href="#">Insert select</a>
<script src="/Scripts/jquery-1.8.2.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script>
$(function() {
$("#myBtn").click(function() {
$("body").prepend("<select></select>");
});
$(document).on('DOMNodeInserted', function(e) {
if (e.target.tagName === "SELECT") {
console.log("doing stuff!");
}
});
});
</script>
答案 2 :(得分:0)
你需要这个
$(document).on('DOMSubtreeModified', 'select', function () {
$(this).prop('disabled', true);
});