#この記事について
jQueryの学習中に気になったことを調べ、解決したので
メモとして書いています。
###・違いについて調べた経緯
ブラウザが元々持っている処理をキャンセルするメソッド
preventDefault()についての学習で以下の
コードが書かれていた。
script.js
$(function() {
$('form').on('submit', function(e) {
console.log('送信ボタンが押されました');
e.preventDefault();
});
});
このコードを見たときにeのイベントオブジェクトをfunctionの第一引数として持たせているが、thisでもいいのでは?
と思い,
イベントオブジェクトfunction(e)のeとthisの違いについて
調べました。
#eとthisの違いについて
###・this
関数の中に記述することでイベント発生元の要素を取得することができ、関数内で使用できる。上記のコードだと$('form')の要素。
script.js
$(function() {
$('form').on('submit', function() {
this == $('form')//←イメージ
});
});
###・イベントオブジェクトe
function(e)と記述することでイベント発生元の要素だけでなく押されたキーの情報なども取得できる。
script.js
$(function() {
$('form').on('submit', function(e) {
e == $('form').on('submit',//←イメージ
});
});