首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法识别元素和类,哪些元素在前面?

无法识别元素和类,哪些元素在前面?
EN

Stack Overflow用户
提问于 2014-12-31 12:48:52
回答 1查看 73关注 0票数 0

我在这里尝试自动完成功能,当我在文本框中输入一些东西时,我被困住了,我希望它能击中$('.autoclass').autocomplete({ //mycode,但它没有命中。

My view :

代码语言:javascript
复制
<input type="text" class="autoclass"  data-bind="value:$root.email" /> // This hits --(1)

<div class="form-body" data-bind="foreach:dataArray">

<input type="text" class="autoclass"  data-bind="value:$root.email" /> //This wont --(2)

</div>

那我就知道有什么是错误的..!使用我的代码,即在类.autoclass上尝试了一个更改事件,但结果很遗憾,但有趣的是,在这里,我尝试在foreach之外放置相同的文本框,其中两者都是(自动完成和更改事件),它的工作原理就像一个魅力,其中textbox在循环中有相同的问题,甚至没有命中。

更改事件:

代码语言:javascript
复制
 $('input.autoclass').change(function () {
 //my code
});

据我观察,控制台中没有错误。以前,我使用的是Knockout自动完成,这在我的情况下是无效的(每次进入控制器时,我都需要得到更新的列表,比如jquery自动完成)。

对于动态创建的元素(具有相同类的textbox),在jquery中是否有黑客攻击?

{编辑}

在建议之后,我尝试了JqAuto插件,它工作正常,但这里的问题很小。

示例Fiddle 这里演示了这个问题

当我从textbox-1中选择自动完成数据时,所选的值被绑定到textbox-2,反之亦然。好吧,由于我在value的视图中使用了value,所以我猜它的绑定方式是这样的(两者都可以观察到)。任何其他的办法都可以让这件事成功。

抱歉,如果有什么不清楚,并让我知道,如果有任何额外的信息。

EN

回答 1

Stack Overflow用户

发布于 2015-01-01 10:17:16

问题是,当使用jQuery附加事件处理程序时,它只适用于当前存在的元素。它不将事件处理程序应用于稍后创建的元素,这很可能是由敲除控制的输入的情况。

一种解决方案是跟踪何时添加元素,然后将事件处理程序附加到它们,但是使用事件委托更简单,您可以将事件处理程序附加到没有动态添加和删除的父元素上。例如:

代码语言:javascript
复制
$(document).on("change", "input.autoclass", function() {

});

可以将document更改为没有动态添加和从文档中删除的输入的任何父级。

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

https://stackoverflow.com/questions/27721382

复制
相关文章

相似问题

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