使用通配符在JS中搜索数组
Using Wildcards to Search Arrays in JS
我想知道是否可以创建一个元素数组,然后使用通配符创建一个事件侦听器,该通配符将在与这些元素交互时触发。这可能看起来像什么样的示例:
var e = new Array();
e[1] = document.getElementById('some-element');
e[2] = document.getElementById('some-other-element');
e.onmouseup = function() {
if(e == e[1]) {
//Some code here
} else if (e == e[2]) {
//Some code here
}
}
不是真正的wildcard
,而是允许您为所有元素只绑定一个事件处理程序的东西-事件委托:
document.body.addEventListener('mouseup', function (event) {
var target = event.target;
if (target == e[1]) {
//Some code here
alert('some-element');
} else if (target == e[2]) {
//Some code here
alert('some-other-element');
}
}, false);
这是因为事件在DOM树中冒泡,直到到达检测到它的body
,并从那里调度必要的操作。
下面是一个使用这种方法的演示:http://jsfiddle.net/jwoxnn3d/
我不知道你说的"通配符"是什么意思,但简单的答案是:不,不是。
您必须对数组进行迭代,并将处理程序绑定到每个元素。在处理程序内部,您可以使用this
来引用处理程序绑定到的元素。
相关文章:
- Javascript:使用用户输入搜索数组
- javascript搜索数组,返回找到的关键字
- 搜索数组并返回值
- 在JavaScript中搜索数组映射的最有效方法
- 使用变量而不是静态字符串搜索数组
- 无法搜索数组项
- 使用下划线搜索数组中的JSON值
- 使用HTML搜索,需要JavaScript来搜索数组并在新窗口中返回结果
- jQuery函数来搜索数组值
- 搜索数组,按查询相关性显示结果
- 在 Javascript 中搜索数组列表的项
- jQuery 搜索数组数组
- 符合条件的对象的JavaScript搜索数组
- 在javascript中搜索数组时忽略大小写
- JavaScript——在对象中搜索数组值
- 使用通配符在JS中搜索数组
- 如何搜索数组数组,并与第一个元素进行比较
- 如何在json文件中搜索数组
- Array.prototype.find搜索数组中的对象
- 使用CategoryFilter搜索数组,而不是匹配列