【问题标题】:how to capture the mouseover element?如何捕获鼠标悬停元素?
【发布时间】:2010-03-29 12:20:28
【问题描述】:

我正在开发一项自动完成功能。但我在那里面临一个问题...

当我点击建议框时,其中一个结果将不会进入建议 html 框...

function handleOnMouseOver(oTr)
{
    deselectAll();
    oTr.className ="highlightrow";
    position = oTr.id.substring(2, oTr.id.length);
    updateKeywordValue(position);
}

你能告诉解决办法吗

谢谢

函数 updateKeywordValue(oTr) {

var oKeyword = document.getElementById("keyword");

var strKeyword="";

var crtLink = document.getElementById("a" +oTr.id.substring(2,oTr.id.length)).toString();

crtLink = crtLink.replace("-", "_");

crtLink = crtLink.substring(0, crtLink.length);

oKeyword.value=unescape(crtLink.substring(googleurl.length, crtLink.length));

strKeyword=oKeyword.value.toString();

如果 (oTr.id.substring(2,oTr.id.length)==0) {

oKeyword.value=strKeyword.substring(3,strKeyword.length);

}

selectedKeyword=oKeyword.value;

}

【问题讨论】:

    标签: javascript autocomplete


    【解决方案1】:

    你应该去掉substring() 方法中的第二个参数。因为你只想要字符串的其余部分,我猜,如果你不设置第二个值,那是默认值。

    position = oTr.id.substring(2);
    

    我的猜测是,您是从 id 获取关键字的值,并将其推入输入框,对吗?如果是这种情况,我们将需要查看更多您的代码。具体来说,我想看看updateKeywordValue 函数,我还想知道他们悬停的文本是否是您尝试发送输入框的文本。如果是这样,您可能可以简化整个事情并使用以下内容:

    function handleOnMouseOver(oTr)
    {
        deselectAll();
        oTr.className ="highlightrow";
        keywordbox.value = oTr.innerHTML;
    

    }

    但这是基于假设悬停行内的唯一数据是文本,而不是其他 html。而且我必须为你的输入框起一个名字。

    但如果不这样,这是因为我们需要更多信息才能看到真正的问题。

    【讨论】:

      猜你喜欢
      • 2018-04-05
      • 2021-11-10
      • 2011-11-08
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多