javascript - 哪个控件触发了该事件

标签 javascript jquery kendo-asp.net-mvc

我从 4 个不同的 Kendo 下拉菜单中触发相同的 javascript 函数。我希望能够知道哪一个下拉菜单正在触发。以下是其中一个的事件调用(所有四个都相同)和函数。

@(Html.Kendo().DropDownList()
      .Name("myDropdownListName")
      ......
      ......
      .Events(e => e.Change("aJavascriptFunction")))


function aJavascriptFunction() {
    alert(name of dropdown list or some other distinguishable thing here )
}

我认为这与 this 关键字有关,但不知道 this 关键字在这种情况下是否有效。想法。?

最佳答案

e 传递给事件处理程序,并使用其 currentTarget 属性来确定哪个元素触发了事件。

function aJavascriptFunction(e) {
    console.log(e.currentTarget);
}

更新:

尝试将事件绑定(bind)更改为模板委托(delegate)类型:

@(Html.Kendo().DropDownList()
      .Name("myDropdownListName")
      ......
      ......
      .Events(e => e
          .Change(@<text>
              function(e) { 
                  aJavascriptFunction(e);
              }
           </text>
      )))

关于javascript - 哪个控件触发了该事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44617401/

相关文章:

jQuery 1.5 如何查找表格中的 2 个单元格并将其替换为新的表格行单元格?

javascript - Kendo UI - Kendo Validator

javascript - Jquery 用换行符填充文本区域,如果没有数据则什么都没有

javascript - 如何判断哪个选项卡处于事件状态

javascript - 年龄选项卡时提醒

javascript - KendoUI 网格不会触发 saveChanges 事件

c# - Kendo UI TreeListDataSource Read() 仅在本地运行时有效

javascript - 运行 Node.js(在 Windows R2 服务器上): How can I reduce the amount of RAM that my grunt tasks consume?

javascript - 如何在数组中收集 id ="tripDate"的整个 <td> 内部 html,并使用当前日期检查每个 td 值

javascript - 如何在重新初始化之前销毁 JQuery 插件实例? (照片刷卡)