【问题标题】:Firing a function on click单击时触发函数
【发布时间】:2011-08-15 09:19:39
【问题描述】:

我有如下所示的addBanner() 函数,每次单击 addBanner 按钮时都会调用该函数。这会添加一个输入字段并触发ausu auto-suggestion jQuery script

当我单击addBanner() 按钮时,我得到一个输入字段并且自动建议工作正常。假设我再次单击addBanner() 按钮,它会添加另一个空输入字段,并且自动建议也可以正常工作,因为每次单击addBanner 函数时都会触发自动建议功能。但是,如果我想编辑我添加的第一个输入字段,则会出现冲突。请告诉我如何将控件返回到第一个输入字段。

var bnrc = 1;
var bnrl = 5;
function addBanner(divName){
     if (bnrc == bnrl)  {
          alert("You have reached the limit of adding " + bnrc + " Banner companies.");
     }
     else {
          var newdiv = document.createElement('div');
            newdiv.className = "banner_sugg";
          newdiv.innerHTML = (bnrc + 1) + ". <input type='text' value='' name='banner[]' id='banner" + (bnrc + 1) + "' autocomplete='off' /> <input type='hidden' value='' name='bannerID[]' id='bannerID" + (bnrc + 1) + "' autocomplete='off' />";
          document.getElementById(divName).appendChild(newdiv);
          bnrc++;
     }

    $.fn.autosugguest({  
           className: 'banner_sugg',
          methodType: 'POST',
            minChars: 1,
              rtnIDs: true,
            dataFile: 'e_data.php'
    });
}

【问题讨论】:

  • 你遇到了什么冲突?你有任何错误吗?
  • @Blair McMillan:没有错误。但是如果我单击上一个输入字段,当我在建议框中使用箭头键滚动时,如果我按下向下箭头,则下面的建议不会突出显示,而是突出显示第三个建议(如果我使用函数添加三个输入字段)。如果我再次点击向下箭头按钮,则会突出显示第 6 条建议。我尝试用鼠标点击建议,但如果我点击正确输入的值但页面会自动滚动到顶部。

标签: javascript jquery jquery-ui jquery-plugins jquery-events


【解决方案1】:

您是否故意拼错了建议?我在下面拼写正确,因此您可能需要更改它。

您当前每次添加新项目时都(重新)调用 $.fn.autosuggest({}),这可能会破坏以前的项目。

试试:

$(newDiv).autosuggest({})

所以它只会向新的 div 添加自动建议功能。您应该将上面的代码移动到创建 newDiv 的部分,因为它甚至会在错误时被调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-12
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多