javascript - jquery/javascript 函数在 firebug 控制台中工作,但在页面加载时不起作用

标签 javascript jquery html

长话短说,我需要在由 WordPress 插件创建文本区域后对其进行编辑,我可以设置 id 和默认值,但我无法设置事件或其他任何内容,我希望默认值在用户点击输入电话号码。

我尝试了几种方法,但没有成功,其中一些是:

<script type="text/javascript">

    $(document).ready(function(){    
    // Your code goes here    

function clearOnInitialFocus ("telid01") {
var clearedOnce = false;
document.getElementById("telid01").onfocus = (function () {
if (clearedOnce == false) {
this.value = '';
clearedOnce = true;
}
})
}
window.onload = function() { clearOnInitialFocus('telid01');}

});
    </script>

也尝试过

<script type="text/javascript">
$(document).ready(function(){  
document.getElementById('telid01').addEventListener('focus', function() {
   this.value = "";
});
});
    </script>

这在控制台中有效,但在页面加载时无效:

document.getElementById('telid01').addEventListener('focus', function() {
   this.value = "";

最佳答案

既然你使用的是 jQuery,你也可以使用 jQuery 的事件绑定(bind),如下所示:

$(document).ready(function(){     
    var clearedOnce = false;
    $(this).on('focus', '#telid01', function () {
        if (!clearedOnce) {
            $(this).val('');
            clearedOnce = true;
        }
    });
});

编辑:如果将事件附加到“文档”,然后将 id 作为选择器传递给 on(),它应该可以工作,并且即使页面上尚不存在该字段,也应该能够附加事件。请参阅:http://api.jquery.com/on/

关于javascript - jquery/javascript 函数在 firebug 控制台中工作,但在页面加载时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973813/

相关文章:

javascript - 多个 $http.get 请求,每个 JSON 文件由 HTML 中的 h1 分割

javascript - 如何使用普通 JavaScript 获取这些 jQuery 结果?

jquery - FancyBox 图片库中的幻灯片?

jquery - 如何创建鼠标按下时大小为一个点的不可见元素,并使其始终相对于其创建者保持位置?

javascript - 在 IOS 设备上内联显示 youtube 视频

javascript - Google Visualization API - JQuery - 增加 ColumnChart 中每两个条的间距

javascript - jQuery 调整对象大小

javascript - 无法从内容脚本调用 chrome.alarms.create()

jquery - 使用增量移动 css 位置

html - Angular:找不到路径为: 'variable-> 0 -> id' 的控件