【问题标题】:Backbone events not firing?骨干事件没有触发?
【发布时间】:2013-01-22 16:08:56
【问题描述】:

所以我有这个简单的主干设置:

$(function() {
  var chooser  = Backbone.View.extend({
    el: $('#content'),

    events: {
      'mouseenter .class': 'showInfo'
    },

    showInfo: function(evt) {
      console.log('YEAH!');
    }
  });

  window.testview = new chooser();
});

但是,我只能让 click 和 mousemove 事件起作用。我试过hover、mouseenter、mouseout,它们似乎都没有触发。我不确定这样一个简单的设置会出现什么问题。在过去的一个小时里,我一直在查看这段代码,所以也许我遗漏了一些东西。

假设 DOM 设置正确。

忘了提一下,我正在使用带有 Zepto 的 Backbone。已下载 Fed 6。

【问题讨论】:

  • 你检查过控制台吗? mouseenter 事件有任何错误吗?
  • 没有错误。这些事件实际上只是不会触发。
  • mouseover 似乎工作正常。我开始认为这些事件不受支持?
  • 我正在使用这个pastebin.com/hJiUaRSk,它对我有用。

标签: javascript backbone.js zepto


【解决方案1】:

mouseentermouseleave 事件不是标准事件,它们本身仅在 Internet Explorer 上受支持。 jQuery 使用带有事件时间检查的mouseovermouseout 事件来模拟这些事件。 hover 也是如此,它实际上是使用 mouseenter/leave 构建的。

Zepto 没有定义这些事件,因此它们根本不可用。尽管 Zepto 适用于桌面浏览器,但它主要专注于移动浏览器,因为显而易见的原因,鼠标事件与移动浏览器无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多