私は、すべての処理が完了した後にページに配置されるプレーンJavaScriptでいくつかのDOMオブジェクトを作成しています。動的JS-DOMオブジェクトにjQueryを追加する
ここで、jQueryを使用していくつかの異なる機能を追加したいと思います。そして、作成の過程でそれを追加します。それは(任意のjQueryのなしで、昔ながらの)今すぐに見えたよう
:
のjQueryを使用してvar mainput = document.createElement("textarea");
mainput.setAttribute("ID", "masseinfo_" + dsatz.ID);
mainput.setAttribute("onkeyup", "checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value)");
からkeyupとは、オブジェクトがまだページ上にないとして失敗しているようです。
mainput.keyup(debounce(250, function (e) {
console.log('It works!');
checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
}));
エラー:keyup is not a function
on
を使用するにはあまり違いはありません。
mainput.on('keyup',null,(debounce(250, function (e) {
console.log('It works!');
checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
})));
エラー:on is not a function
ビットの検索が代わりのライブのの使用について少し書いたthat pageに私をもたらした:
$(".postitem").live("click", function() {...});
... would now be...
$(document).on("click", ".postitem", function() {...});
は、だから私は試してみました:
$(document).on('keyup',mainput,(debounce(250, function (e) {
console.log('It works!');
checkAndSendMaAjax(" + dsatz.ID + ", '" + masseinfoup + "', '" + dsatz.Typ + "', this.value);
})));
エラーは発生しますが、何もしません。 私は何が間違っていますか?
を使用するコードを変更し 私が得るすべては 'TypeError例外である:(新しい文字列( "masseinfo_106"))のプロパティに割り当てることはできません。ないobject' – Qohelet
問題の機能的な例を作成できますか?そのためにhttps://jsfiddle.net/を使用することができます – pedrofsantos
まあ、問題は解決されています。しかし、うまくいけない: 'dsatzjqcode.push(" $(document).on( 'keyup'、 '#masseinfo_ "+ dsatz.ID +"'、function(){debounce(checkAndSendMaAjax( "+ dsatz.ID +"、 '+ dsatz.Typ + "'、this.value)、" + debouncetime + ");});"); ' 私は配列にすべてをスローし、ページがロードされた後に' eval'を使います – Qohelet