Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Jquery - Fatal编程技术网

Javascript 如何查找函数调用的原因

Javascript 如何查找函数调用的原因,javascript,jquery,Javascript,Jquery,这似乎是一个有关联的问题,但我需要区分这两者 我有一个函数 function calculatePerDayRentCost(){ //body } 通过两种方式调用这个函数 首先,我的意思是 $('#qtyExtraDriver').change(); 第二,改变下拉列表的值 <select onchange="calculatePerDayRentCost()"> <option value="1">1</option> <option valu

这似乎是一个有关联的问题,但我需要区分这两者

我有一个函数

function calculatePerDayRentCost(){
//body
}
通过两种方式调用这个函数

首先,我的意思是

$('#qtyExtraDriver').change();
第二,改变下拉列表的值

<select onchange="calculatePerDayRentCost()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

是否有任何方法可以区分函数调用的原因,即编程更改或下拉更改

您无法区分内联事件处理程序是由用户触发的还是由代码触发的,但如果您在代码中指定处理程序,则可以

函数计算器PerdayrentCoste{ 如果e&e.originalEvent{ console.log从select中激发; } 否则{ console.logfired来自代码; } } $function{ //分配更改事件处理程序 $qtyExtraDriver.onchange,函数E{ 计算日租金; }; //通过代码触发更改事件 $'qtyExtraDriver'。更改; }; 1. 2. 3.
您无法区分内联事件处理程序是由用户触发还是由代码触发,但如果您在代码中指定处理程序,则可以

函数计算器PerdayrentCoste{ 如果e&e.originalEvent{ console.log从select中激发; } 否则{ console.logfired来自代码; } } $function{ //分配更改事件处理程序 $qtyExtraDriver.onchange,函数E{ 计算日租金; }; //通过代码触发更改事件 $'qtyExtraDriver'。更改; }; 1. 2. 3.
或参数传递。即calculatePerDayRentCostfromDropDown@Adelin它们触发更改事件,而不是直接调用函数。这对他们没有帮助。@Archer但你知道如果函数得到一个未定义的而不是fromDropDown,他们会触发更改事件,否?在其中放置一个断点,并看到堆栈跟踪通过内联处理程序的事件对象,或者更确切地说,使用jQuery附加事件,因为你似乎已经在使用它,在calculatePerDayRentCost中,检查事件对象是否存在。或参数传递。即calculatePerDayRentCostfromDropDown@Adelin它们触发更改事件,而不是直接调用函数。这对他们没有帮助。@Archer但你知道如果函数得到一个未定义的而不是fromDropDown,他们会触发更改事件,否?在其中放置一个断点,并看到堆栈跟踪通过内联处理程序的事件对象,或者更确切地说,使用jQuery附加事件,因为你似乎已经在使用它,在calculatePerDayRentCost中,检查事件对象是否存在。我认为这有助于防止无法读取的属性“originalEvent”undefined@Adelin-你在哪里看到的?@Adelin这不在问题的范围之内,所以不相关,但我现在已经处理了传递给函数的null参数。我认为这有助于防止无法读取的属性'originalEvent'undefined@Adelin-你在哪里看到的?@Adelin这不在问题的范围内,因此不相关,但我现在已经处理了传递给函数的null参数。