HTML ページに<select>
要素があり、選択が変更されたときに Javascript を実行したいとします。私はjQueryを使用しています。コードを要素に関連付ける方法は 2 つあります。
方法 1: jQuery .change()
<select id='the_select'>
<option value='opt1'>One</option>
<option value='opt2'>Two</option>
</select>
<script>
$('#the_select').change(function() {
alert('Changed!');
});
</script>
方法 2: onChange 属性
<select id='the_select' onchange='selectChanged();'>
<option value='opt1'>One</option>
<option value='opt2'>Two</option>
</select>
<script>
function selectChanged() {
alert('Changed!');
}
</script>
ここでモジュール性が異なることは理解しています。たとえば、方法 1 ではコード参照が HTML から除外されますが、方法 2 ではコード内で HTML ID について言及する必要はありません。
私が理解していないのは、これら2つの間に操作上の違いがあり、どちらかを好むようになるのでしょうか? たとえば、これらの 1 つが機能し、もう 1 つが機能しないエッジケースのブラウザーはありますか? jQuery との統合は、どちらにとっても優れていますか? イベントへのコードの遅延バインディングは、ページの動作に違いをもたらしますか?
あなたはどちらを選びますか、そしてその理由は何ですか?