我们可以在一个输入类型按钮标记中放置两个JavaScript onclick事件吗?要调用两个不同的功能?
答案 0 :(得分:27)
这个有效:
<input type="button" value="test" onclick="alert('hey'); alert('ho');" />
还有这个:
function Hey()
{
alert('hey');
}
function Ho()
{
alert('ho');
}
<input type="button" value="test" onclick="Hey(); Ho();" />
所以答案是 - 是的你可以:) 但是,我建议使用不引人注目的JavaScript。将js与HTML混合只是讨厌。
答案 1 :(得分:14)
HTML
<a href="#" id="btn">click</a>
和javascript
// 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");
});
单击时会提醒'foo'和'bar'。
答案 2 :(得分:7)
您可以附加一个可以根据需要调用其他人的处理程序:
<a href="#blah" id="myLink"/>
<script type="text/javascript">
function myOtherFunction() {
//do stuff...
}
document.getElementById( 'myLink' ).onclick = function() {
//do stuff...
myOtherFunction();
};
</script>
答案 3 :(得分:4)
一个元素中不需要有两个函数,只需要一个调用另外两个函数的函数!
HTML
<a href="#" onclick="my_func()" >click</a>
JS
function my_func() {
my_func_1();
my_func_2();
}
答案 4 :(得分:0)
你也可以尝试这样的事情
<a href="#" onclick="one(); two();" >click</a>
<script type="text/javascript">
function one(){
alert('test');
}
function two(){
alert('test2');
}
</script>