首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.blur()对label无效

.blur()对label无效
EN

Stack Overflow用户
提问于 2015-02-17 14:42:49
回答 1查看 138关注 0票数 0

我想在标签模糊时调用webmethod。但我的问题是:

代码语言:javascript
复制
$('#clarity_lbl').on('blur', function () {
        alert("hi");
}); 

代码语言:javascript
复制
$('#clarity_lbl').blur(function () {
         alert("hi");
});

代码语言:javascript
复制
$('#clarity_lbl').bind('blur', function () {
        alert("hi");
});

不起作用。#clarity_lbl是我的标签的id。

EN

回答 1

Stack Overflow用户

发布于 2015-02-17 15:05:17

正如Arun提到的,当您尝试将处理程序绑定到页面上时,您的问题很可能是您的目标元素在页面上还不存在。

要解决此问题,您可以使用event delegation。不是直接绑定到元素(因为它还不存在),而是绑定到层次结构中的另一个元素,即在页面加载时出现,并将侦听器委托给它。在委托中,传入目标元素的idclass。因此,这个父元素将监听它的子元素中与您的选择器匹配的元素的点击,如果它听到一个,则调用您的函数。

您可以始终委托给$(document),但最佳实践是委托给尽可能靠近动态添加的目标元素的元素。

代码语言:javascript
复制
$("#container").on("blur","#clarity_lbl", function(event, ui) {
    alert("hi");
  
});	
代码语言:javascript
复制
<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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28556134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档