2

我在 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调试器中存在错误:“Uncaught TypeError: Object [object Object] has no method 'focus'”。

如何在 Google Chrome 中将处理程序与 jQuery 绑定?谢谢!

4

1 回答 1

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> 
于 2012-08-08T21:13:10.470 回答