遅延させたいdocument.onclick関数があります。構文が正しくないようです。
私の元のコードは
<script type="text/javascript">
document.onclick=check;
function check(e){do something}
以下を試してみましたが、そのコードが正しくなく、関数が実行されず、何も起こりませんでした。
<script type="text/javascript">
document.onclick=setTimeout("check", 1000);
function check(e){do something}
次のセットを試しましたが、関数は実行されましたが、遅延はありませんでした。
<script type="text/javascript">
setTimeout(document.onclick=check, 1000);
function check(e){do something}
このコードの正しい構文は何ですか。
TIA
編集:
解決策はすべて良かったです。私の問題は、関数チェックを使用してクリックされている要素のIDを取得することでした。ただし、遅延後は、クリックされた内容の「メモリ」がないため、関数の残りの部分は実行されません。Jimrは、クリックされたイベントを保持するための短いコードを作成しました。
動作しているコード(IE6では動作しません)
document.onclick = makeDelayedHandler( check, 1000 );
// Delay execution of event handler function "f" by "time" ms.
function makeDelayedHandler( f, time)
{
return function( e )
{
var ev = e || window.event;
setTimeout( function()
{
f( ev );
}, time );
};
}
function check(e){
var click = (e && e.target) || (event && event.srcElement);
.
.
.
皆さん、ありがとうございました。
更新:kennebecのソリューションはIE6で機能します。