イベントを.blur()
要素にバインドしています。$(elem).remove()
メソッドで要素を削除するたびに.blur
、同じ要素に対してイベントがトリガーされます。これがjsFiddle です- ケースを表示するには、青い div をクリックして任意のキーを押します。
コードは次のとおりです。 HTML:
<div id="container"></div>
<ul id="tr"></ul>
CSS:
#container {
width:100px;
height:100px;
background:blue;
position:relative;
cursor:pointer;
JS:
$("#tr").on('keydown', '#ti', function() {
$(this).remove();
});
$("#tr").on('blur', '#ti', function() {
alert('blur is triggered');
});
$('#container').on('click', function() {
var item = '<li id="ti" contenteditable="true"></li>';
$("#tr").append(item);
$("#ti").last().focus();
});
要素が削除された場合、.blur イベントを防ぐにはどうすればよいですか? または、イベントが要素の削除をトリガーしたことをどのように知ることができますか?