jQuery Ajax 元素的后期绑定不起作用
jQuery late binding of Ajax elements doesn't work
我真的遇到了jQuery问题,我希望有人可以帮助我...
所以我在左边有一个选项列表,当你点击一个时,会通过右边的Ajax生成一个表单。表单中有以下元素:
<input type="text" class="value" value="something">
而我想做的是打电话
$(".value").tagsInput();
这是一个jQuery插件,当你提出问题时,它的工作方式非常类似于Stack Overflow的"标签"输入字段。
所以我试了这个:
$(document).ready(function() {
$(".value").on("load", function () {
console.log("Tags Input");
$(".value").tagsInput();
});
});
什么都没有打印出来。我也试过这个:
$(document).on("change", ".value", function () {
console.log("Tags Input");
$(".value").tagsInput();
});
它也不起作用。我想知道我哪里做错了。谁能帮我?
正如Shabnam所指出的,"change"事件不是你想要的,因为它只有在字段模糊时才触发。
无论如何,从插件文档中可以看出,您不必每次按下键时都调用该函数,但它会自主附加自己的事件处理程序。
所以,也许你应该只做:
$(document).ready(function() {
$(".value").tagsInput();
});
.on
处理程序将永远不起作用,因为 load
事件仅在页面准备就绪时由document
触发。
如果您想稍微调试一下,请查看支持的回调,例如 onChange
。
旁注
我不喜欢该插件的编写方式,因为它会阻塞具有许多函数的"全局"jQuery.fn
命名空间,而jQuery文档建议不要这样做(请参阅:命名空间)。
更新
看这里:http://jsfiddle.net/aFPHL/这个工作的例子(.load()
被猴子修补以避免调用实际的URL,但它的行为与真实URL几乎相同)。
"change" 事件在输入元素失去焦点时触发。如果您希望在每个键输入结束时进行 ajax 调用,请尝试使用键盘事件
相关文章:
- 对象文字方法上的Javascript绑定不起作用
- Knockout输入绑定不起作用
- 角度指令双向绑定不起作用
- 指令中选择输入的双向绑定不起作用
- Angularjs:ui路由嵌套状态下的绑定不起作用
- 为什么我的淘汰选项绑定不起作用
- jQuery Ajax 元素的后期绑定不起作用
- 样式绑定不起作用
- 在内联编辑的情况下,Knockout绑定不起作用
- 指令链接中的绑定不起作用
- Angular 1.5组件双向绑定不起作用
- 点击处理程序多次触发,解除绑定不起作用
- KnockoutJS - 引导程序 3 模式绑定不起作用
- foreach:绑定不起作用 ko.mapping.fromJS 数据
- 虚拟元素的挖空绑定不起作用
- 委托的“模板”绑定不起作用
- Angularjs 双向数据绑定不起作用;$watch也不起作用
- 使用 D3js 时,带有 DOM 的 AngularJS 数据绑定不起作用
- 视频播放事件中的 Angular 2 路绑定不起作用
- 如果语句和挖空中的可见绑定不起作用