const obj = {'name1':true, 'name2': false, 'name3':true}
我有一个onclick
函数,我将基于此name
获得name
,如果我需要true
,我需要更改对象名称值false
更改为false
的情况下更改为true
注意:这应该基于仅单击
我的输出应该是
const obj = {'name1':true, 'name2': true, 'name3':true}
答案 0 :(得分:1)
您只需要对每个input
进行addEventListener
,并将当前状态“复制”到目标对象。这是带有注释的代码示例:
const obj = {
'name1': true,
'name2': false,
'name3': true
};
/* Get all inputs */
const inputs = document.querySelectorAll('input');
/* Add "click" listener to every input */
inputs.forEach(input => input.addEventListener('click', () => {
/* Store current state of clicked input to target object property */
obj[input.name] = input.checked;
console.log(obj);
}));
input {
margin: 12px;
}
<input type="checkbox" name="name1" checked />
<input type="checkbox" name="name2" />
<input type="checkbox" name="name3" checked />
答案 1 :(得分:0)
尝试以下代码以及概念,可能会解决您的问题:)
self.cacheDom.$document.off('keydown').on('keydown',firstHandler);
self.cacheDom.$document.off('keydown').on('keydown',firstHandler);
var firstHandler=function(){
//my function with a scroll trigger if condition is satisfied
self.cacheDom.$document.on('keydown',secondhandler)
}
var secondHandler=function(){
// my another function
self.cacheDom.$document.on('keydown',firstHandler)
}