2012-02-05 126 views
-2

此功能的onclick:火狐onclick事件

VVi".$row['id'].".onclick = function() { 
    alert('1'); 
    var ResultI = '".$row['id']."'; 
    location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
}; 

不能称之为火狐...我试图在Chrome和Opera,一切工作得很好......所以,我怎么能调用的函数,一切都会在所有浏览器上都能正常工作。我需要类似的方法,因为我不想与代码以取得效果...谢谢

编辑:

火狐结果:

<a class='menuLink' id='VVi19'> 
<div id='IIi19' style='width: 230px; 
height: 136px; 
background: url(res/images/images.jpg); 
background-size: contain; 
background-repeat: no-repeat; 
background-position:center;'></div> 
</a> 
</td> 
<script type='text/javascript'> 
VVi19.onclick = function() { 
    alert('1'); 
var ResultI = '19'; 
location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
    }; 
</script> 
+5

你可以显示生成的源代替PHP吗? – 2012-02-05 12:24:35

+0

看起来像PHP问题导致无效的jQuery代码,更改标签。 – 2012-02-05 12:27:04

+0

Rob W,我不认为这是需要的.. php代码与问题无关。 – Liukas 2012-02-05 12:35:42

回答

1

声明为封闭如你所完成的功能有分配陈述并且因此必须以分号;终止。

一些ECMAScript的发动机比别人更多这方面的宽容 - 尝试添加分号,像这样:

 // ... 
    location.href='visuals.php?ResultI=' + ResultI + '&pg=' + pgi + '&vid=false'; 
    }; 
//^Add this teminator 

编辑检查整个代码后,它似乎是问题是,你的标签顺序都搞砸了,这就是为什么它不起作用。除其他外,<script>元素作为<table>的直接子元素无效,<td>应包含在<tr>中。您还可以在循环中分配一个静态的id=,这会导致重复的元素ID,并且您似乎使用以ID命名的对象引用HTML元素,而不将该元素分配给对象。

尝试改变:

VVi".$row['id'].".onclick = function() { 

要:

document.getElementById('VVi".$row['id']."').onclick = function() { 

...虽然即使这样做能够立即解决的问题,你可能会发现行不通其他的东西。您需要将所有生成的页面通过W3C markup validation service,并且您还应该看到JSLint必须对您的Javascript进行说明。

+0

仍然无法正常工作。仍然感谢我不知道任何有关:) – Liukas 2012-02-05 12:40:08

+0

@Liukas恐怕我们必须看到它的行动 - 你有一个链接,你可以提供,所以我们可以看到自己的问题? – DaveRandom 2012-02-05 12:41:29

+0

但是分号在OP的代码中有吗? – JJJ 2012-02-05 12:41:40