アプリケーションで問題が発生しました。ユーザーがイベントを発生させる必要がある をクリックすると、div
(約 1/10 程度) 何も発生しonclick
ないことがあります。イベントが発生しない場合もあれば、すべてがうまくいく場合もあります。これは非常に奇妙です...
短いコードで、その問題を再現できます。
<html>
<head>
<style type="text/css">
.links:hover{
text-decoration: underline;
cursor: pointer;
}
</style>
</head>
<body>
<span id="init_panel" style="visibility:visible; position:absolute; left:0px; top:0px;"></span>
<script type="text/javascript">
function init_match(){
alert("in init_match()");
//...
}
var flag=true;
function loop(){
if (flag){
var div = document.getElementById("init_panel");
var HTML = "<div class='links' onclick='init_match();'><font color='black'><b>new match!</b></font></div><br />";
if (div.innerHTML!=HTML){
div.innerHTML=HTML;
}
setTimeout(loop, 1000);
}
else{
div.innerHTML="";
}
}
loop();
</script>
</body>
</html>
一連の div のコンテンツと対応するリンクを JavaScript で変更する必要があります。そのため、それに似たコードが必要です。イベントでその問題を回避する方法を誰かが明確にしてくれることを願っています。
編集して次の情報を追加します。
次の js コードを追加しました。
document.onclick = my_handler;
function my_handler() {
alert("the document was clicked!");
}
その結果、他の onclick が失敗すると同時に、この document.onclick も失敗します。これは非常に奇妙です!onclick イベントで失敗することなく、div の内容を更新したいと思います...
このバグが見られる最新バージョンの jsfiddle は、http://jsfiddle.net/grSDs/3/ にあります
。
成功率と失敗率は、ブラウザごとに変化し、スクリプトが直接実行されているか、jsfiddle インターフェースを介して実行されているかによっても変化します (さまざまな状況で成功率が ~90% から ~0% になります)。