对象在谷歌浏览器中没有方法“焦点”

Object has no method 'focus' in Google Chrome

本文关键字:焦点 有方法 谷歌浏览器 对象      更新时间:2023-09-26

我在HTML页面中有输入:

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

我用jQuery编写了javascript来绑定事件"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 调试器中还存在错误:"未捕获的类型错误:对象 [对象对象] 没有方法'焦点'"。

如何在谷歌浏览器中将处理程序与jQuery绑定?谢谢!

不知何故,在这种情况下,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>