在vanilla js中进行事件授权的最佳方式(最快/最合适)是什么?
例如,如果我在jQuery中有这个:
$('#main').on('click', '.focused', function(){
settingsPanel();
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能将其翻译成香草js?或许有.addEventListener()
我能想到这样做的方式是:
document.getElementById('main').addEventListener('click', dothis);
function dothis(){
// now in jQuery
$(this).children().each(function(){
if($(this).is('.focused') settingsPanel();
});
}
Run Code Online (Sandbox Code Playgroud)
但这似乎效率低下,特别是如果#main有很多孩子.
这是正确的方法吗?
document.getElementById('main').addEventListener('click', doThis);
function doThis(event){
if($(event.target).is('.focused') || $(event.target).parents().is('.focused') settingsPanel();
}
Run Code Online (Sandbox Code Playgroud) javascript ×1