我可以在一个元素中包含两个JavaScript onclick事件吗?
我们可以将两个JavaScript onclick事件放在一个输入类型按钮标记中吗?要调用两个不同的函数?一个元素中不需要有两个函数,只需要一个函数调用另外两个 HTML我可以在一个元素中包含两个JavaScript onclick事件吗?,javascript,Javascript,我们可以将两个JavaScript onclick事件放在一个输入类型按钮标记中吗?要调用两个不同的函数?一个元素中不需要有两个函数,只需要一个函数调用另外两个 HTML 您可以附加一个处理程序,该处理程序可以调用任意多个其他处理程序: <a href="#blah" id="myLink"/> <script type="text/javascript"> function myOtherFunction() { //do stuff... } document.
您可以附加一个处理程序,该处理程序可以调用任意多个其他处理程序:
<a href="#blah" id="myLink"/>
<script type="text/javascript">
function myOtherFunction() {
//do stuff...
}
document.getElementById( 'myLink' ).onclick = function() {
//do stuff...
myOtherFunction();
};
</script>
函数myOtherFunction(){
//做些事情。。。
}
document.getElementById('myLink')。onclick=function(){
//做些事情。。。
myOtherFunction();
};
这一款有效:
还有这个:
function Hey()
{
alert('hey');
}
function Ho()
{
alert('ho');
}
所以答案是——是的,你可以:)
但是,我建议使用不引人注目的JavaScript。。将js与HTML混合在一起是很讨厌的。您也可以尝试类似的方法
<a href="#" onclick="one(); two();" >click</a>
<script type="text/javascript">
function one(){
alert('test');
}
function two(){
alert('test2');
}
</script>
功能一(){
警报(“测试”);
}
函数二(){
警报(“test2”);
}
HTML
<a href="#" id="btn">click</a>
单击时,这将同时提醒“foo”和“bar”。此方法的缺点是此处的上下文将是全局窗口对象,“This”在myOther中不起作用。。。。声明,这只是引用函数,而不是将其附加到元素的onclick属性,值得对此进行解释。:)除此之外,答案适用于“调用2个函数或200”的情况。
<input type="button" value="test" onclick="Hey(); Ho();" />
<a href="#" onclick="one(); two();" >click</a>
<script type="text/javascript">
function one(){
alert('test');
}
function two(){
alert('test2');
}
</script>
<a href="#" id="btn">click</a>
// get a cross-browser function for adding events, place this in [global] or somewhere you can access it
var on = (function(){
if (window.addEventListener) {
return function(target, type, listener){
target.addEventListener(type, listener, false);
};
}
else {
return function(object, sEvent, fpNotify){
object.attachEvent("on" + sEvent, fpNotify);
};
}
}());
// find the element
var el = document.getElementById("btn");
// add the first listener
on(el, "click", function(){
alert("foo");
});
// add the second listener
on(el, "click", function(){
alert("bar");
});