例外を生成するこの単純な小さなコードの平和があります:(クロムのみ)
キャッチされないエラー: NotFoundError: DOM 例外 8
シナリオ: ユーザーが にアクセスしtextbox
て値を入力しなかった場合、ユーザーは のときに通知されbluring
ます。
そしてtextbox
は でラップされますred div
。そして、彼がクリックすると-(値を入力するために)-赤いdivが削除されます(unwrap
テキストボックスによって)。
そう
- 私はテキストボックスを持っています。
- このテキストボックスにはぼかしハンドラが添付されています。
- ブレが発生した場合、値が入力されているかどうかを確認しています。
- 値が入力されている場合: すべて問題ありません。何も行われません。
- そうでない場合:
- 私
alert
はユーザー - を
textbox
赤い枠で囲みます click event handler
ユーザーがテキストボックスをクリックすると(値を入力するために)境界線が消えるように を添付します。
- 私
問題 :
ユーザーが警告を受けてred-div
ラップするとtextbox
、テキストボックスをクリックするたびに(値を入力するために)-例外が発生します(そして明らかに混乱しています)
質問:
Why
それは起こっていますか、how
それを修正できますか?
コード : ( JSBIN )
$("body").on("blur", ".myTb", function () {
if (!$(this).val()) {
alert('you must enter something!');
doWork($(this))
}
});
function doWork(obj) {
var t = $("<div class='divError'/>");
obj.wrap(t);
obj.on('click', function () {
obj.unwrap();
});
}
PS:
1)要素を赤いdivでラップし、ユーザーがクリックしたときに(値を入力するために)削除するという考えを維持したい。(これは、既にこのように機能するプラグインの一部であるため)
2) FFで問題なし
3) クロムバージョン: 25.0.1364.97 m
4) jquery: 1.8