click
のIDをパラメーターとして取得するハンドラーを使用して、iframe
のiframe
イベントを処理したい.
次のようにJavaScript経由でonClick
イベントハンドラーを追加できますが、正常に機能します。
_iframe.document.addEventListener('click', clic, false);
_
しかし、この場合、clic()
にパラメーターを渡すことができません。 clic()
に_this.id
_を出力しようとしましたが、結果はありませんでした。
onClick
HTML属性はまったく機能せず、ハンドラーは呼び出されません。
_<html>
<head>
<script type="text/javascript">
function def() {
myFrame.document.designMode = 'on';
}
function clic(id) {
alert(id);
}
</script>
</head>
<body onLoad="def()">
<iframe id="myFrame" border="0" onClick="clic(this.id)"></iframe>
</body></html>
_
クロージャーを使用してパラメーターを渡すことができます。
iframe.document.addEventListener('click', function(event) {clic(this.id);}, false);
ただし、フレームにアクセスするためのより良いアプローチを使用することをお勧めします(フレームウィンドウに名前でアクセスするDOM0の方法を使用していると想定できます-後方互換性のためだけに保持されています):
document.getElementById("myFrame").contentDocument.addEventListener(...);
iframeにはonclickイベントはありませんが、iframeのonloadイベントとこのようなjavascriptを使用してこれを実装できます...
function iframeclick() {
document.getElementById("theiframe").contentWindow.document.body.onclick = function() {
document.getElementById("theiframe").contentWindow.location.reload();
}
}
<iframe id="theiframe" src="youriframe.html" style="width: 100px; height: 100px;" onload="iframeclick()"></iframe>
私はそれがあなたに役立つことを願っています...