【问题标题】:Javascript event object: Where is the selectorJavascript 事件对象:选择器在哪里
【发布时间】:2012-07-12 06:30:55
【问题描述】:

我的主干视图中有以下设置:

var SomeView;

SomeView = Backbone.View.extend({
    initialize: function() { this.render(); },
    render: function() { // render form },
    events: {
        "keydown form.registration input": "checkInput"
    },
    checkInput: function(e) {
        console.log(e);
        // this doesn't work but I am searching for such a function
        var attr = e.getAttributeWhichTriggeredEvent;
        $(attr).val();
        // validate...
    } 
});

如您所见,我想获取触发事件的元素的选择器,以便例如使用输入值。

当我在 Chromium 中查看控制台时,我在事件对象中发现了一些(当前)目标属性。不幸的是,它们不包含任何我可以用来识别元素的东西,但也许我看起来还不够……

那么我该怎么做呢?

【问题讨论】:

  • 你为什么认为“它们不包含任何我可以用来识别元素的东西”?
  • 我的错,我认为 HTMLInputElement 只是一种说明我们拥有什么样的元素的类型:)

标签: javascript javascript-events backbone.js


【解决方案1】:

我想你想要..

$(e.target).val()

【讨论】:

    【解决方案2】:

    DOM 事件对象有一个type,它反映了分派它们的事件类型(例如单击、鼠标按下等)。他们还为 targetcurrentTarget 提供了 properties,它们引用了与事件相关的 DOM 元素,其中一个可能适合。

    请注意,旧版 IE 不支持 event.target,但有 event.srcElement

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      相关资源
      最近更新 更多