このコードを使用してください。help/example/ 01.basic.htmlと02.full.htmlでテストしましたが、他のコードでも機能すると思います。
$(document).ready(function(){
var current = $("#wysiwyg-wysiwyg-iframe").contents().find('html');
function detectFn(){
alert('Detected');
}
var timer;
current.bind({
keyup: function(){
clearTimeout(timer);
timer = setTimeout(detectFn, 2000)
}
});
});
ソース:
Yasir LaghariとGhommeyは、このソリューションの真の功績を認めています。
jQuery / JavaScript:iframeのコンテンツへのアクセス
キーを押すと、X秒後に停止すると関数が呼び出されます
説明:
1)「jwysiwygプラグイン」は、iframeのテキストエリアを置き換えることを目的としています。テキストは「p」タグ内にあります。もう1つ考慮すべき点は、このタグはクリックできないことです。テキストをクリックすると、実際にクリックしているのは「iframedhtml」タグです。
2)jQueryがiframed要素にアクセスして選択するには、「contents()」メソッドを使用する必要があります。そうすれば、iframeでいくつかの関数のトリガーを開始できます。
3)偽のテキストエリアの変更を検出した後に使用するコードを実行するdetectFn()を作成します。
4)変数「timer」を宣言します。
5)keyupイベントを使用するには、bind()メソッドを「iframedhtml」タグとともに使用する必要があります。このようにして、テキストエリアの入力アクションがシミュレートされます。
6)各キーアップは検出関数を複数回実行します。これを防ぐために、setTimeoutメソッドを使用して、detectFnを変数「timer」に格納します。最後に、変数を引数としてclearTimeoutに渡す必要があります。そうすれば、各キーアップによって、検出関数の前回の実行がキャンセルされます。