【问题标题】:Jquery in javascript function require two clicksjavascript函数中的jquery需要点击两次
【发布时间】:2011-06-29 20:34:11
【问题描述】:

我使用 jquery 编写了一个简单的内联编辑。该插件运行良好,但是当我在 javascript 函数中调用脚本时遇到问题,需要单击 2 次才能激活插件。有谁知道解决这个问题的方法..我想一键搞定!提前致谢。

<a onclick="update(1)"> Let's update<a/>

  function update(id)
  {
  $("#edit" + id).kb_edit();   
  }

【问题讨论】:

  • 你能提供更多的上下文吗?就像kb_edit() 进程一样?
  • 您在哪个浏览器中遇到问题?
  • 这是你的插件吗?问题很可能在那里,因此您需要提供代码。另外,你有&lt;a/&gt; 而不是&lt;/a&gt;
  • 您在上面发布的代码没有任何问题(除了@patrick 指出的拼写错误)。请参阅jsfiddle.net/nrabinowitz/sZ9KQ - 单击即可触发处理程序,没有任何问题。

标签: javascript jquery function onclick double-click


【解决方案1】:

如果插件中的功能需要您在内部设置的点击事件处理程序,那么这意味着在您运行 .kb_edit() 之前不会设置它。

所以第一次点击运行.kb_edit(),它设置了click 处理程序。

然后第二次点击实际上会触发第一次点击设置的任何内容。

【讨论】:

    【解决方案2】:

    对于初学者来说,您可以通过不使用 onclick 来稍微清理一下...

    <a id="myAnchor">Let's update</a>
    
    $(document).ready(function() {
       $("#myAnchor").click(function(){
            ///put your update code here including the kb_edit code
       });
    });
    

    或者如果你有一系列这样的你可以使用 &lt;a class="myAnchor"&gt;...&lt;/a&gt; 并更改 jquery 选择器:

       $(".myAnchor").click(function(){
    

    【讨论】:

    • 哦,伙计们!对不起,我犯了一个转储错误!在我的插件中有一个 .click 功能.. 所以这就是为什么需要两次点击才能触发。非常感谢!!
    猜你喜欢
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多