这可能很简单,我忽略了,但是我的google-fu没有提供任何可以解释原因的东西。就拿下面的片段(忽略现在嵌入式JS通常被认为是不好的做法):为什么Chrome浏览器上的id =“pattern”时嵌入的'OnClick'不起作用?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>
</title>
</head>
<body>
<form action="">
<div>
<input type="text" id="pattern" value="foobar">
<input type="button" value="Alert" OnClick="alert(pattern.value);">
</div>
</form>
</body>
</html>
以上将在IE8和Firefox 3打印警告消息“foobar的”,但Chrome浏览器将打印“未定义”。将pattern
更改为pattern_
之类的其他内容将按预期方式为所有三种浏览器打印“foobar”。
是pattern
保留字,或者使用内建的JS库的一个名字吗? Chrome浏览器无法正常工作的原因是什么?
有趣怪癖,... – Tomalak 2011-06-15 07:36:34