为什么这个搜索框没有选择点击的所有文字?

时间:2009-05-30 20:07:23

标签: javascript html yui

您可以在http://www.trailbehind.com看到相关搜索框。如果用户尝试搜索两次,他们必须按退格键以清除文本,但我想在双击时选择所有文本,默认情况下应该输入哪些文本。为什么不介意?

当用户第一次点击时,我按如下方式清除输入:

input.onclick = clearInitialValue;

function clearInitialValue() { 
  this.value = ""; 
  this.onclick = 'return True';
  this.style.color = "black";
}

你可能需要知道的另一件事是帮助我解决这个问题,我使用输入来实例化YUI自动完成:http://developer.yahoo.com/yui/autocomplete/,但我在文档中找不到任何解释为什么会出现双击的原因选择文本的输入不起作用。

3 个答案:

答案 0 :(得分:1)

请记住,每个javascript事件只能有一种方法,因此,在您的示例中,您正在协助onclick事件,请确保不再执行此操作。

要获得更多,您需要使用事件监听器。

var oDiv = document.getElementById('thediv');

oDiv.addEventListener('click', function (e) {
    // your method here
}, true);

或简单

oDiv.addEventListener('click', clearInitialValue, true);

您提到您正在使用YUI,因此代码将类似于:

 YAHOO.util.Event.on(oDiv, "click", clearInitialValue); 

不能直接回答您的问题,但在处理javascript事件时请记住。


回答你的问题,你的代码运行得很好......查看运行在JSBIN

的代码

您可以在网址中添加/编辑以进行编辑。

答案 1 :(得分:1)

而不是你的

  this.onclick = 'return True';

  this.onclick = 'this.select(); return true';

这将选择框中的文字。

考虑在焦点上执行此操作,而不是单击。

如果这不符合您的要求,请尝试关闭YUI自动填充,以查看是否存在干扰。我已经看过了。

如果没有这样做,请在将其粘贴到谷歌地图之前,在干净的页面上实现它,而不是其他JS,以简化更多。

希望这有帮助。

答案 2 :(得分:0)

我发现有一件事可能是个问题,你有

this.onclick = 'return True';

尝试

this.onclick = 'return true';

javascript区分大小写。