这是提示:
在事件监听器中,DOMContentLoaded为每个第二个输入元素设置两个addEventListener
方法(使用inputElements[]
数组和相应的索引)并传递第一个和第二个输入元素
值(使用inputElements[].value
)和相应的span
元素(使用spanElements[]
)。由于您需要传递参数,请使用以下构造:
inputElements[index].addEventListener('blur',function(){ fCompareInput(arguments); })
这是功能: function fCompareinput(value1,value2,display)
这就是我所拥有的:
inputElements[2].addEventListener('blur', function() {
fCompareInput(inputElements[2].value);
});
inputElements[2].addEventListener('blur', function() {
fCompareInput(spanElements[2].value);
});
inputElements[4].addEventListener('blur', function() {
fCompareinput(inputElements[4].value);
});
inputElements[4].addEventListener('blur', function() {
fCompareinput(spanElements[4].value);
});
我不认为我正确地传递了论据。
答案 0 :(得分:0)
使用循环更轻松地浏览bool busy;
void HandleToggled(object sender, Xamarin.Forms.ToggledEventArgs e)
{
if (busy == true) return;
busy = true;
var aSwitch = ((sender == WomanGenderSwitch) ? ManGenderSwitch : WomanGenderSwitch);
aSwitch.IsToggled = !aSwitch.IsToggled;
busy = false;
}
集合,然后绑定事件侦听器。也:
inputElements
回拨blur
来引用已触发事件的DOM节点我们假设您只希望索引为this
和2
的元素绑定此类事件,然后我们就可以执行此操作:
4
补充:
如果要检索集合中所有偶数元素(按索引),请使用:
// Define which indexes you want to bind eventistener to
var indexes = [2,4];
// Loop through the entire collection
for (let i = 0; i < inputElements.length; i++) {
if (indexes.indexOf(i) !== -1) {
inputElements[i].addEventListener('blur', function() {
fCompareinput(this.value);
fCompareinput(spanElements[i].value);
});
}
}
如果要检索除第一个元素之外的所有偶数元素和,请使用:
if (i % 2 === 0)
例如:
if (i % 2 === 0 && i !== 0)
由于您已使用 jQuery 标记了您的问题,因此还有一个基于jQuery的解决方案:更简单,但当然会产生必须加载库的开销。
// Loop through the entire collection
for (let i = 0; i < inputElements.length; i++) {
if (i % 2 === 0) {
inputElements[i].addEventListener('blur', function() {
fCompareinput(this.value);
fCompareinput(spanElements[i].value);
});
}
}
...或者,如果您只想选择偶数编号的索引:
var indexes = [2,4];
$(inputElements).each(function(i) {
if (indexes.indexOf(i) !== -1) {
$(this).on('blur', function() {
fCompareinput(this.value);
fCompareinput($(spanElements).get(i).val());
});
}
});