对象在Google Chrome中没有方法“焦点”

时间:2012-08-08 20:50:56

标签: javascript jquery google-chrome onfocus

我在HTML-page中输入了:

<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调试器中存在错误:“未捕获的TypeError:对象[对象对象]没有方法'焦点'”。

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

1 个答案:

答案 0 :(得分:3)

在某些情况下,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>