繁体   English   中英

jQuery的Ajax元素后期绑定不起作用

[英]jQuery late binding of Ajax elements doesn't work

我真的陷入了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();
});

而且也不起作用。 我想知道我做错了什么。 谁能帮我吗? 谢谢!!

当输入元素失去焦点时,将触发“更改”事件。 如果要在每个按键输入的末尾进行ajax调用,请尝试使用键盘事件

正如Shabnam指出的那样,“改变”事件是不是你想要的,因为一旦外地模糊它仅触发。

无论如何,从插件文档中可以看出,您不必每次按下键时都调用该函数,但是它会自动附加自己的事件处理程序。

因此,可能您只需要:

$(document).ready(function() {
    $(".value").tagsInput();
});

您的.on处理程序将永远无法工作,因为只有页面准备好后, load事件才由document触发。

如果您想稍微调试一下,请查看受支持的回调,例如onChange

边注

我不喜欢该插件的编写方式,因为它会阻塞具有许多功能的“全局” jQuery.fn命名空间,而jQuery文档建议不要这样做(请参阅: Namespacing )。

更新

参见此处: http : //jsfiddle.net/aFPHL/此工作的一个示例.load() .load .load()进行了猴子修补,以避免调用实际URL,但其行为与真实URL几乎相同)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM