如何在click事件上添加focus()并设置占位符文本

时间:2017-05-01 19:55:00

标签: javascript

我正在为我的搜索图标添加一个事件监听器来监听"点击"事件然后在触发时调用一个函数,该函数将焦点添加到元素并将占位符属性更改为"输入您的搜索词..."。当前单击图标时,输入显示焦点,但没有占位符文本。我错过了什么?

 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 );
        };

1 个答案:

答案 0 :(得分:0)

您使用的浏览器是什么? IIRC,IE(至少11个,不知道" Edge")将在场地获得焦点后立即隐藏占位符。 (不过,Chrome可以做到这一点。)