Javascript 如何在单击事件上添加focus()和设置占位符文本
我正在将事件侦听器添加到我的搜索图标,以侦听“单击”事件,然后在触发时调用一个函数,将焦点添加到元素并将占位符属性更改为“输入搜索词…”。当前,单击图标时,输入显示为焦点,但没有占位符文本。我错过了什么Javascript 如何在单击事件上添加focus()和设置占位符文本,javascript,Javascript,我正在将事件侦听器添加到我的搜索图标,以侦听“单击”事件,然后在触发时调用一个函数,将焦点添加到元素并将占位符属性更改为“输入搜索词…”。当前,单击图标时,输入显示为焦点,但没有占位符文本。我错过了什么 window.onload = function() { var el = document.getElementById('gsc-i-id1'); el.setAttribute('placeholder', 'Enter your search term.
window.onload = function() {
var el = document.getElementById('gsc-i-id1');
el.setAttribute('placeholder', 'Enter your search term...');
el.style.background = '';
el.style.textIndent = '0';
el.addEventListener('blur', function(e) {
e.target.style.backgroundImage = 'none';
e.target.style.textIndent = '0';
}, false );
var searchIcon = document.getElementById('search-icon');
searchIcon.addEventListener('click', function(e) {
e.preventDefault();
el.focus( function() {
el.setAttribute('placeholder', 'Enter your search term...');
});
}, false );
};
你用的是什么浏览器?IIRC,即(至少11个,不知道“边缘”)将在字段收到焦点后立即隐藏占位符。(不过Chrome做到了这一点。)一个原因可能是
输入
字段的现有值模糊了占位符文本(占位符应该只有在字段中没有文本时才可见)。以下是来自Google自定义搜索的输入:``看起来可能是的重复。另请参见和。这两项都没有解决我面临的问题。另外,内容已经过时,我没有使用jQuery。(即使我是,这些话题也不相关)我正在使用Chrome。