Javascript 哪个控件触发了此事件
我从4个不同的剑道下拉列表触发相同的javascript函数。我想知道哪个下拉菜单正在触发。下面是其中一个(所有四个都相同)的事件调用和函数Javascript 哪个控件触发了此事件,javascript,jquery,kendo-asp.net-mvc,Javascript,Jquery,Kendo Asp.net Mvc,我从4个不同的剑道下拉列表触发相同的javascript函数。我想知道哪个下拉菜单正在触发。下面是其中一个(所有四个都相同)的事件调用和函数 @(Html.Kendo().DropDownList() .Name("myDropdownListName") ...... ...... .Events(e => e.Change("aJavascriptFunction"))) function aJavascriptFunction()
@(Html.Kendo().DropDownList()
.Name("myDropdownListName")
......
......
.Events(e => e.Change("aJavascriptFunction")))
function aJavascriptFunction() {
alert(name of dropdown list or some other distinguishable thing here )
}
我认为这和这个关键字有关,但不知道这个关键字在这种情况下是否有效。想法。将
e
传递给事件处理程序,并使用其currentTarget
属性确定触发事件的元素
function aJavascriptFunction(e) {
console.log(e.currentTarget);
}
更新:
尝试将事件绑定更改为模板委托类型:
@(Html.Kendo().DropDownList()
.Name("myDropdownListName")
......
......
.Events(e => e
.Change(@<text>
function(e) {
aJavascriptFunction(e);
}
</text>
)))
@(Html.Kendo().DropDownList())
.Name(“myDropdownListName”)
......
......
.事件(e=>e
.改变(@
函数(e){
aJavascriptFunction(e);
}
)))
谢谢Catalyst,但它确实不起作用。返回为“undefined”@RickW.,当您执行console.log(e)时会发生什么代码>?它说的是同一件事Catalyst,未定义。事实上,我知道了。不是e.currentTarget,而是e.sender.element[0]。id。。。感谢Catalyst为我指明了正确的方向