首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用[ selector ]属性时,获取函数上已更改的jquery元素?

在使用[ selector ]属性时,获取函数上已更改的jquery元素?
EN

Stack Overflow用户
提问于 2015-08-04 07:12:29
回答 1查看 51关注 0票数 1

我使用jquery on来检测表单中元素的更改事件。我正在使用函数的选择器属性缩小我的选择范围,如下所示:

代码语言:javascript
复制
$("#myFormId,#myFormId2").on("change", ":input.classA, :input.classB, textarea" ,function()
{
   $(this).attr("id");
});

更新-详细说明问题

如何获得两个表单中任何一个输入字段更改后的结果:

  1. 更改后的元素id (我打赌这可以通过设置事件返回对象来完成,如注释function(eventObj)__中所述)。
  2. 事件本身的更改元素的表单id,而不是在DOM树中向上传播。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 11:15:02

我终于把这个包好了:

在我的环境中,我们使用的是不支持jquery on方法的jQuery1.6.4。on方法是作为自定义添加的,但即使在使用选择器时,它仍然与没有委托事件绑定的live一样。

这就是为什么我在使用$(this).attr("id");时首先获得表单Id的原因。

作为问题2的答案,由于我们使用的是on方法的委托事件绑定模式(在1.7+版本中),$(this)将始终返回第一个目标,即直接更改event.target的元素(表单字段)。

为了获得主选择器,如FormId,我们将使用$(event.delegateTarget)获得主选择器,如小提琴所示。

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

https://stackoverflow.com/questions/31802885

复制
相关文章

相似问题

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