在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) 我需要删除数组中不包含"IN"的所有元素,就像那样.
我怎么想这样做是用for循环遍历数组并将包含IN的所有值写入另一个数组.
有没有办法可以在不写入新数组的情况下执行此操作,只删除那些与当前数组不匹配的项目?
以下是我计划如何做的代码:
arrTwo = [];
for(var i = 0; i<arr.length; i++){
if(arr[i].indexOf('IN') > -1) arrTwo.push[arr[i]];
}
Run Code Online (Sandbox Code Playgroud) 什么是我可以在JavaScript中使用,以取代所有逗号一无所有字符串之间去除一切的正则表达式(和)包括这些字符.
换句话说,替换,以及包括(和)之间的所有内容('')?