我想在标签模糊上调用[webmethod]。但我的问题是:
$('#clarity_lbl').on('blur', function () {
alert("hi");
});
或
$('#clarity_lbl').blur(function () {
alert("hi");
});
或
$('#clarity_lbl').bind('blur', function () {
alert("hi");
});
无效。 #clarity_lbl
是我的标签的ID。
答案 0 :(得分:0)
正如Arun所提到的,当您尝试将处理程序绑定到页面时,您的问题可能是页面上尚未存在您要定位的元素。
要解决此问题,您可以使用event delegation。不是直接绑定到元素(因为它还没有存在),而是绑定到页面上存在的层次结构中的另一个元素,将侦听器委托给它。在委派中,您传入目标元素的id
或class
。因此,这个父元素会听取与您孩子中的选择器匹配的元素的点击,如果它听到了,则会调用您的函数。
您始终可以委托给$(document)
,但最佳做法是尽可能靠近动态添加的目标元素委托给元素。
$("#container").on("blur","#clarity_lbl", function(event, ui) {
alert("hi");
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<input type="text" id="clarity_lbl" value="click then click away" size="100"/>
</div>
&#13;