【JavaScript】FirefoxではaddEventListenerに設定するFuncの引数にeventが必要
前回に引き続きJavascriptです。
こちらもタイトルそのまんまなのですが、AddEventListenerに設定した処理がうまく動きませんでした。
その理由は、firefoxではeventに何も入ってこないというところでした。
// イベントに処理を設定する
function eventSetting(){
var elementList;
// 対象の要素を取得する
elementList = document.querySelectorAll('selector');
// 動作を設定する
elementList.forEach(function(ele, index, arr){
// クリック時処理を設定する
ele.addEventListener('click', func);
});
}
// クリック時処理
function func(){
var target;
// firefoxだとeventに何も入っていないため、エラーとなる
target = event.currentTarget;
}
これだとeventに何も入っていないため、動きません。
そのため、リスナに引数を用意する必要があります。
// イベントに処理を設定する
function eventSetting(){
var elementList;
// 対象の要素を取得する
elementList = document.querySelectorAll('selector');
// 動作を設定する
elementList.forEach(function(ele, index, arr){
// クリック時処理を設定する
ele.addEventListener('click', func);
});
}
// クリック時処理
function func(event){
var target;
// eventに値が入ってくる
target = event.currentTarget;
}
IEで動かなかった、firefoxで動かなかったり、なかなか難儀ですね。
そういえば、IEしか使えない会社は今後どうなるのでしょうね。
来年の初めにサポートが切れてしまった気がします。
No comments.