我是javascript的新手,我在网上搜索过这个问题。这可能是一个简单的修复,但我无法摆脱这个错误(仅限铬,而不是FF)。
这是我的javascript:
<script>
function clikked(){
window.alert("sometext");
}
</script>
在我的HTML中,我有很多像这样的DIV:
....
<div class="tiles2" id="1180" name="1180" onclick="clikked()"></div>
<div class="tiles2" id="1181" name="1180" onclick="clikked()"></div>
....
我在这里做错了什么?我总是在Chrome中遇到错误...记住,我是javascript的新手,所以每个信息都会有所帮助!
编辑:这里是php部分
for ($i = 0; $i<2000; $i++) {
echo '<div class="tiles2" id="'.$i.'" name="'.$i.'" onClick="clikked()" ></div>';
}
编辑2:这里是完整的Test.php代码:
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>
Test
</TITLE>
</HEAD>
<BODY>
<style type="text/css">
.tiles2 {
width: 16px;
height: 12px;
float: left;
background-color: white;
opacity: 0.9;
}
.tiles2:hover {
opacity: 0.2;
}
}
</style>
<?php
echo '<div style="width: 800px; height: 480px; background-image: url(australia/austr.png); margin: 0px auto">';
for ($i = 0; $i<20; $i++) {
echo '<div class="tiles2" id="'.$i.'" name="'.$i.'" onClick="clikked()" ></div>';
}
echo '</div>';
?>
<script>
function clikked(){
alert("sometext");
}
</script>
</BODY>
</HTML>
编辑3:好的,我已经解决了#34;它。我在带有xampp的localhost上运行它。当我将它上传到服务器时它工作。有谁知道为什么?
答案 0 :(得分:1)
我遇到了同样的问题。我通过简单地重命名被调用的函数和你调用的名称来解决它。
因此,我的savData()
已重命名为savKeyData()
,我的函数savData() {}
已重命名为savKeyData() {}
,并且有效。
答案 1 :(得分:0)
将脚本标记放在body
的底部。
或者,使用onLoad
或onDocumentReady
事件。
<div class="tiles2" id="1180" name="1180" onclick="clikked()"></div>
<div class="tiles2" id="1181" name="1180" onclick="clikked()"></div>
<script type="text/javascript">
function clikked(){
window.alert("sometext");
}
</script>
<强> JSBin 强>: http://jsbin.com/ronacuka/1/
答案 2 :(得分:0)
试试这个。从你的标记中删除onclick并在底部页面输入你的js:
var i, tiles = document.getElementsByClassName('tiles2');
for(i = tiles.length; i--;) {
tiles[i].addEventListener("click", clikked, false);
}
function clikked(){
alert("some text");
}
答案 3 :(得分:0)
除非您使用HTML5,否则您的ID和名称属性必须以字母开头。
http://www.w3.org/TR/html4/types.html#type-id
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(&#34; - &#34 ;),下划线(&#34; _&#34;),冒号(&#34;:&#34;)和句号(&#34;。&#34;)。
将您的doctype更改为&lt;!doctype html&gt;看看是否有效。
答案 4 :(得分:-2)
使功能如下:
<script type="text/javascript">
function clikked(){
alert("sometext");
}
</script>
我认为主要的问题是你正在使用窗口全局范围。