当点击HTML节点时,在我的页面上,我希望发生一些事情。
我还想要发生其他事情。
然后我决定,我想要进一步发生一些事情。换句话说,我想继续将其约束到新的行动。但是我没有将其硬编码到原始onclick
函数中,而是想创建一个函数来执行此操作。
换句话说,我想要这样的事情:
function addClickBinding(node, functionToPerform){
node.onclick = function(e){
//some stuff
functionToPerform(stuff in here)
}
我发现的问题是,如果我用同一个节点调用它,那么之前的onclick
就会被越过。
如何继续向同一节点添加新的onclick
属性?
注意:我不想使用JQuery
答案 0 :(得分:0)
您可以使用element.addEventListener('click', function(e) { }, false);
。阅读它here。否则,您可以使用函数包装要调用的函数,并使其等于.onclick
。
答案 1 :(得分:-1)
如果您只是想让它同时运行多个函数,那么您可以只使用一个函数来执行此操作:
function clickControl()
{
doThis();
doThat();
etc();
}
假设这不是问题,并且你想在某些条件下发生某些事情,那么你只需要将它们放在那里:
function clickControl()
{
if(something)
{
doThis();
}else if(something_else)
{
doThat();
}else
{
etc();
}
}
最后,如果你想每次都发生不同的事情,设置一个全局变量:
var clickStep = 1;
function clickControl()
{
switch(clickStep++)
{
case 1:
doThis();
break;
case 2:
doThat();
break;
case 3:
etc();
break;
}
}
我希望我在这里回答你的问题。我没有整夜睡觉,所以如果我对这件事不感兴趣,那么我道歉。