首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery获取有关事件源的信息

使用jQuery获取有关事件源的信息
EN

Stack Overflow用户
提问于 2009-09-03 18:56:12
回答 6查看 45.2K关注 0票数 20

一个函数绑定到多个对象的事件。其中一个对象会触发事件,然后jQuery就会介入。如何找出是谁在JavaScript函数中触发了事件?

我试着使用function [name](event){}和事件,但是我得到了"'data‘is null or not a object“。

下面是我现在的代码:

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function() {
    $('.opening').bind("click", function(event) {
         //code to populate event.data since right now, the tags don't hold the info...they will eventually with an XHTML custom namespace
            event.data.building = "Student Center";
            event.data.room = "Pacific Ballroom A";
            event.data.s_time = "9/15/2009 8:00";
            event.data.e_time = "9/15/2009 10:00";

            indicatePreferenceByClick(event);
        });
    function indicatePreferenceByClick(event) {
        alert("I got clicked and all I got was this alert box.");
        $("#left").load("../ReserveSpace/PreferenceByClick", { building: event.data.building, room: event.data.room, s_time: event.data.s_time, e_time: event.data.e_time});
    };
</script>
EN

回答 6

Stack Overflow用户

发布于 2017-01-30 19:11:44

使用target,您可以访问导致当前执行/事件的控件。如下所示:

代码语言:javascript
复制
$(event.target)
票数 2
EN

Stack Overflow用户

发布于 2017-07-12 20:14:00

你可以在Jquery中使用this函数,它会给你注入了事件的项。

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function() {
    $('.opening').bind("click", function(event) {
       console.log($(this));
    });
});    
</script>
票数 1
EN

Stack Overflow用户

发布于 2020-01-01 19:22:38

event.currentTarget可能就是你要找的。

如果您询问的是event source,就像在Java中一样,其中target是引发事件的对象,source是事件处理程序附加到的对象,那么这可能是您要查找的内容:

在触发事件时传递给处理程序的event对象中,有两个对象,即targetcurrentTarget

  • target是导致事件发生的对象fired
  • currentTarget是处理程序附加到

的对象

在您的代码中显示它的

代码语言:javascript
复制
<script type="text/javascript">
  $(document).ready(function() {
    $('.opening').bind("click", function(event) {
      // ...your code
      indicatePreferenceByClick(event, event.currentTarget);
    });
    function indicatePreferenceByClick(event, eventSource) {
      alert("I got the event source.");
      console.log(eventSource);
      // ...your code
    }
  });
</script>

了解更多Event.currentTarget

希望它能有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1375280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档