我真的遇到了jQuery问题,我希望有人可以帮助我...
所以我左边有一个选项列表,当你点击一个选项时,右边的Ajax会生成一个表单。形式中有这个元素:
<input type="text" class="value" value="something">
我想做的就是打电话
$(".value").tagsInput();
这是一个jQuery插件,当你提问时,它的工作方式与SO的“标签”输入字段非常相似。
所以我尝试了这个:
$(document).ready(function() {
$(".value").on("load", function () {
console.log("Tags Input");
$(".value").tagsInput();
});
});
并且没有打印出来。我也试过这个:
$(document).on("change", ".value", function () {
console.log("Tags Input");
$(".value").tagsInput();
});
它也不起作用。我想知道我做错了什么。谁能帮我吗?谢谢!
答案 0 :(得分:0)
“change”事件被触发。如果您希望在每个键输入结束时调用ajax,请尝试使用键盘事件
答案 1 :(得分:0)
正如Shabnam所指出的那样,“改变”事件不你想要什么,因为只有在字段模糊时它才被触发。
无论如何,从插件文档来看,每次按下一个键时都不必调用该函数,但它会自动附加自己的事件处理程序。
所以,可能你应该没问题:
$(document).ready(function() {
$(".value").tagsInput();
});
您的.on
处理程序将无法正常工作,因为load
事件仅在页面准备就绪时由document
触发。
如果您想稍微调试一下,请查看支持的回调,例如onChange
。
SIDE NOTE
我不喜欢该插件的编写方式,因为它会阻塞具有大量函数的“全局”jQuery.fn
命名空间,而jQuery文档建议不要这样做(参见:Namespacing)。 / p>
<强>更新强>
请参阅此处:http://jsfiddle.net/aFPHL/此工作的一个示例(.load()
是monkeypatched以避免必须调用实际的URL,但其行为几乎与真实的一样。)