ember.js ReferenceError:firefox中未定义事件

麦克风

我想在ember动作中访问事件对象以检查目标元素。这在Chrome和Safari中有效,但在Firefox 25.0中则无效。

我什至没有收到错误消息。我如何在ember动作中访问事件对象,或者有没有余烬方法?

繁殖方法:

  1. 打开我的小提琴
  2. 单击div或“单击我”链接,应打开一个警报框
  3. 在chrome和firefox中测试这些

的HTML

  <script type="text/x-handlebars" data-template-name="application">
      <h1>Click the link in the following div</h1>
      {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="index">
      {{test-a}}
  </script>
  <script type="text/x-handlebars" data-template-name="components/test-a">
    <div class="index" {{action 'edit' on="click"}}>
        <a href="http://www.example.com" target="_blank">Click me</a>
    </div>
  </script>

咖啡

App = Ember.Application.create({});

App.TestAComponent = Ember.Component.extend
    actions:
        edit: ->
            if event.toElement.nodeName.toUpperCase() == 'A'
                return true # should bubble to the window but is a component
            # do something for editing here
            alert('div clicked')
            false

的CSS

h1 { font-size: 1.6em; padding-bottom: 10px; }
h2 { font-size: 1.4em; }
ul { padding: 15px; font-size: 1.4em; color: green; }
.index { background-color: #666; padding: 20px; }

http://jsfiddle.net/mszrnyi/3REEj/2/

Marcio Junior

有些浏览器会在中创建一个全局事件对象window.event,但这并不是跨浏览器。

使用动作处理程序,您将无法正常工作。因为操作是处理浏览器事件的顶级方法。因此,不会传递任何事件对象,并且在{{action}}触发aevent.preventDefault()时会执行,因此您的链接不会打开新窗口。

您将只需要使用click这是处理浏览器事件的底层方法,因此您将在第一个参数中获得事件对象。气泡基于布尔返回的预期行为:

 App.TestAComponent = Ember.Component.extend    
    click: (event) ->                
        if event.toElement.nodeName.toUpperCase() == 'A'
            alert('link clicked')
            return true # should bubble to the window but is a component
        # do something for editing here
        alert('div clicked')       
        false

另外,{{action 'edit' on="click"}}需要从components/test-a模板中删除否则event.preventDefault()将执行。

  <script type="text/x-handlebars" data-template-name="components/test-a">
    <div class="index">
        <a href="http://www.example.com" target="_blank">Click me</a>
    </div>
  </script>

这是更新的小提琴http://jsfiddle.net/8Ephq/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ember.js ReferenceError:firefox中未定义事件

来自分类Dev

ReferenceError:未定义事件firefox d3.js

来自分类Dev

避免在Ember.js中未定义错误<yourObject>

来自分类Dev

避免在Ember.js中未定义错误<yourObject>

来自分类Dev

Uncaught ReferenceError:在Ember / Springboot中未定义Define

来自分类Dev

Ember.js:无法读取未定义的属性“ isHelperInstance”

来自分类Dev

Ember JS的DS FixtureAdapter错误未定义

来自分类Dev

未定义createRecord错误(Firebase + Ember.js)

来自分类Dev

Ember.js:无法设置未定义的属性“ store”

来自分类Dev

在测试Ember.js(ember-cli)应用程序时,在拆卸中获取“未定义应用程序”

来自分类Dev

ember js中的Flash消息不起作用。创建Flash对象时对象未定义

来自分类Dev

Ember.js教程和指南-未定义DS,Ember.State已移至插件

来自分类Dev

ember.js Ember.Select引发错误“无法读取未定义的属性'selectedIndex'”

来自分类Dev

ReferenceError:Fusion.js中未定义头盔

来自分类Dev

ReferenceError:在gulpfile.js中未定义require

来自分类Dev

Node.js中的“ ReferenceError:处理程序未定义”

来自分类Dev

Ember App中未定义访问

来自分类Dev

Ember this 在组件的组件中未定义

来自分类Dev

Ember js中的hasMany关联

来自分类Dev

Ember JS中的行链接

来自分类Dev

Ember.js中的CSS

来自分类Dev

在Ember JS中查询模型

来自分类Dev

Ember.js:未捕获的TypeError:在transitionTo上无法读取未定义的属性“ enter”

来自分类Dev

ember.js错误:断言失败:findAll的响应必须是数组,而不是未定义

来自分类Dev

Ember JS-车把模板-#index在#each内部未定义

来自分类Dev

使用Liquid Fire时出现Ember.js错误“无法读取未定义的属性'容器'”

来自分类Dev

Ember.js:未捕获的TypeError:未定义不是一个函数

来自分类Dev

在Ember中启动Foundation JS(使用ember-cli)

来自分类Dev

Ember.js地图操作keyUp事件

Related 相关文章

  1. 1

    ember.js ReferenceError:firefox中未定义事件

  2. 2

    ReferenceError:未定义事件firefox d3.js

  3. 3

    避免在Ember.js中未定义错误<yourObject>

  4. 4

    避免在Ember.js中未定义错误<yourObject>

  5. 5

    Uncaught ReferenceError:在Ember / Springboot中未定义Define

  6. 6

    Ember.js:无法读取未定义的属性“ isHelperInstance”

  7. 7

    Ember JS的DS FixtureAdapter错误未定义

  8. 8

    未定义createRecord错误(Firebase + Ember.js)

  9. 9

    Ember.js:无法设置未定义的属性“ store”

  10. 10

    在测试Ember.js(ember-cli)应用程序时,在拆卸中获取“未定义应用程序”

  11. 11

    ember js中的Flash消息不起作用。创建Flash对象时对象未定义

  12. 12

    Ember.js教程和指南-未定义DS,Ember.State已移至插件

  13. 13

    ember.js Ember.Select引发错误“无法读取未定义的属性'selectedIndex'”

  14. 14

    ReferenceError:Fusion.js中未定义头盔

  15. 15

    ReferenceError:在gulpfile.js中未定义require

  16. 16

    Node.js中的“ ReferenceError:处理程序未定义”

  17. 17

    Ember App中未定义访问

  18. 18

    Ember this 在组件的组件中未定义

  19. 19

    Ember js中的hasMany关联

  20. 20

    Ember JS中的行链接

  21. 21

    Ember.js中的CSS

  22. 22

    在Ember JS中查询模型

  23. 23

    Ember.js:未捕获的TypeError:在transitionTo上无法读取未定义的属性“ enter”

  24. 24

    ember.js错误:断言失败:findAll的响应必须是数组,而不是未定义

  25. 25

    Ember JS-车把模板-#index在#each内部未定义

  26. 26

    使用Liquid Fire时出现Ember.js错误“无法读取未定义的属性'容器'”

  27. 27

    Ember.js:未捕获的TypeError:未定义不是一个函数

  28. 28

    在Ember中启动Foundation JS(使用ember-cli)

  29. 29

    Ember.js地图操作keyUp事件

热门标签

归档