ChromeとFirefoxのonclick&onmouseout/overイベントの機能に入ることができません。ChromeとFFで動作しない理由は、これを回避する方法があります。これらはIE9とOperaで正常に動作します。
HTMLページのコードを以下に示します。
<script language="JavaScript" for="SmartGridCell" event="onclick()">
sg_CellClick(event.srcElement);
</script>
<script language="JavaScript" for="SmartGridCell" event="onmouseover()">
sg_MouseOverCell(event.srcElement);
</script>
その他のクリックイベント...
<script language="javascript" for="optSet" event="onclick()">
mc_SelectAnElement(this, document.getElementsByName('optSet'));
</script>
<script language="javascript" for="answerChoice" event="onclick()">
mc_SelectAnElement(this, document.getElementsByName('answerChoice'));
</script>
これは私がこれまでに行ったことですが、Chromeでイベントを発生させることはできません...
<script language="JavaScript">
var s1=document.getElementsByName('optSet');
for (var i=0;i<s1.length;i++)
{
s1[i].addEventListener("click",mc_SelectAnElement(this, document.getElementsByName('answerChoice')),false);
}
</script>
これも試してみましたが、このスニペットで関数にアクセスできますが、選択した値が保持されることはありません...
if (document.addEventListener)
{
document.addEventListener("click",function (e){
var srcElement= e.target;
var tagName= srcElement.tagName;
if(tagName="optSet")
{
mc_SelectAnElement(srcElement, document.getElementsByName('optSet'));
}
//mc_SelectAnElement(this, document.getElementsByName('optSet'));
},true);
}
ありがとう-