Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript未触发多个事件_Javascript_Html - Fatal编程技术网

javascript未触发多个事件

javascript未触发多个事件,javascript,html,Javascript,Html,然而,我有一个html元素,它假设调用3个JS函数作为它的onchange事件;它只触发第一个函数。我不明白它为什么不这样做 <select id="dlist" onChange="func1(); func1(); func3()"/> func1 = function(){ //code } func3 = function(){ //code } func2 = function(){ //code } func1=函数(){ //代码 } func3=函数(){

然而,我有一个html元素,它假设调用3个JS函数作为它的onchange事件;它只触发第一个函数。我不明白它为什么不这样做

<select id="dlist" onChange="func1(); func1(); func3()"/>

func1 = function(){
//code
}

func3 = function(){
//code
}

func2 = function(){
//code
}

func1=函数(){
//代码
}
func3=函数(){
//代码
}
func2=函数(){
//代码
}
这个问题可能是什么?


<select id="dlist" "onChange=func1(); func1(); func3()"/>
您正在将整个属性用引号括起来。 你想要


试试
onChange=“func1();func1();func3()”

移动报价。

您可以试试这个

var slt= document.getElementById('dlist').onchange= func1; func1;func3


对我来说很好。它调用
func1
func3
,就像您在属性中调用它一样(请注意,您正在调用
func1
两次)。没有调用其他方法的一个原因可能是
func1
中出现错误,从而终止执行。但那只是猜测而已。正如你在我的例子中所看到的,如果我按照你发布的代码,它会调用函数。这完全是错误的。这将
func1
的返回值分配给
.onchange
。现在将
func3
分配给
.onchange
。。。稍微好一点,但触发事件时只调用
func3
,而不是所有三个函数。再次编辑:这将把
func1
分配给
.onchange
,因此触发事件时只调用
func1
(参考第一个代码段)。第二个代码段可以工作,但不必创建命名函数。您可以执行
el.onchange=function(){funct1();func2();funct3();}。第一个(以及之前的所有内容)是(逻辑上)不正确的。
var slt= document.getElementById('dlist').onchange= func1; func1;func3
var slt= document.getElementById('dlist').onchange= myAll;


function myAll(){

func1();
func2();
func3();

}