bha*_*icp 6 javascript onchange
是否可以将相同的onChange()分配给多个元素(没有jQuery)
目前我正在做
var namefirst = document.getElementsByName("attribute.Identifier Source")[0];
namefirst.onchange = function () {//disable some stuff }
Run Code Online (Sandbox Code Playgroud)
但是,我必须在onChange()中为另外5个元素执行此操作,因此我想知道是否可以立即为所有这些元素执行此操作?或者我将不得不为每个元素执行此操作.
(我对Javascript很新)
PSL*_*PSL 10
如果要立即绑定它,请尝试使用事件委派.即为输入创建包装器并将change事件绑定到它,并根据事件目标检测元素并执行操作.
像这样的东西:
HTML:
<div id="wrapper">
<input type="text" name="myText" />
<input type="text" name="myText" />
<input type="text" name="myText" />
<input type="text" name="myText" />
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
document.getElementById('wrapper').addEventListener('change', function(event){
var elem = event.target;
console.log(elem.name);
console.log(elem.tagName);
console.log(elem.type);
if(elem.name === "myText"){
console.log(elem.value);
}
});
Run Code Online (Sandbox Code Playgroud)
所以这里输入的更改事件会向其父级冒泡,并且您可以捕获它并执行操作.
关于什么:
var names = document.getElementsByName("attribute.Identifier Source");
for (var i = 0; i < names.length; i++) {
names[i].onchange = function() {
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11663 次 |
| 最近记录: |