jqueryのblurおよびonblurイベントで見知らぬ問題に固執しました。入力時にブラーを実行すると、最初に onblur イベントが実行され、.blur メソッドが実行されます。ただし、アンカータグをクリックしてトリガー.blurを呼び出すと、.blurメソッドが最初に実行され、次にonblurイベントが実行されます。なぜこの違いとこれに対する解決策。デモ
<head>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function () {
$('a').click(function () {
$('input').blur();
})
})
function test() {
alert(0);
}
$(function () {
$('input').blur(function () {
alert(1);
})
})
</script>
</head>
<body>
<input type="text" onblur="test()" />
<a href="#">blur input</a>
</body>