javascript - Google Chrome 中对象没有方法 'focus'

标签 javascript jquery google-chrome onfocus

我在 HTML 页面中输入了内容:

<input id="Name" name="Name" tabindex="0" type="text" value="Name:" />

我用 jQuery 编写了 javascript 来绑定(bind)事件“onfocus”和“onblur”的处理程序:

<script type="text/javascript">
    var name = $("#Name");
    name.focus(function () {if ($(this).val() == "Name:") $(this).val('');});
    name.blur(function () {if ($(this).val() == "") $(this).val("Name:");});
</script>

因此,当用户选择输入时,它的值应该变为空。如果用户未在输入中输入文本并更改焦点,则输入的值将返回“名称:”。

它在 Firefox、Internet Explorer 和 Opera 中工作正常,但在 Google Chrome 中不起作用。此外,chrome 调试器中出现错误:“Uncaught TypeError: Object [object Object] has no method 'focus'”。

如何在 Google Chrome 中使用 jQuery 绑定(bind)处理程序? 谢谢!

最佳答案

不知何故,Chrome 不喜欢在这种情况下将您的变量命名为“name”。以下作品

<script type="text/javascript"> 
    var name2 = $("#Name"); 
    name2.focus(function () {if ($(this).val() == "Name:") $(this).val('');}); 
    name2.blur(function () {if ($(this).val() == "") $(this).val("Name:");}); 
</script> 

关于javascript - Google Chrome 中对象没有方法 'focus',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872964/

相关文章:

javascript - 单击时突出显示图像,然后选中单选按钮

php - 通过表单提交输入新行后,如何使用 AJAX 刷新数据库表?

javascript - Highcharts : How to update Plotoptions pointStart on Ajax call?

c# - 在 C# 中协商 WebSocket(Chrome 连接到 Unity C# TCP 客户端)

google-chrome - ERR_SSL_VERSION_OR_CIPHER_MISMATCH 浏览到 Google 的子域时

javascript console.log 在变量中给出错误的结果

javascript - 我如何在 Node 中使用 Passport.js 模拟另一个用户?

javascript - MVC AJAX调用url格式

javascript - 如何从 iframe 中的内容脚本传回消息?

javascript - 如何对对象数组进行排序?