jQuery 'on' 使用 Ember JS 时事件不同

jQuery 'on' event is different while using Ember JS

使用 jQuery 'on' 将函数绑定到 html 元素时,为什么回调函数 func 在 Ember JS 中具有 on 属性,而在 JQuery 中不可用。

jQuery 应用:

$('body').append("<div id='div1'></div>")
var func = function(){alert("Ember")};
var bind = $("#div1").on("click",func);
"on" in func  // returns false

Ember申请

$('body').append("<div id='div1'></div>")
var func = function(){alert("Ember")};
var bind = $("#div1").on("click",func);
"on" in func // returns true

这与 jQuery 的 on 功能无关。

Ember 具有原型扩展功能。 Ember 扩展了函数、数组和字符串的原型。 on 是关于函数原型扩展的。你可以从github repo.

看到代码

您也可以从指南中查看 disabling prototype extensions

能否请您在 environment.js 文件中的 EXTEND_PROTOTYPES 中设置 false。请参考下面的代码 snippets.You 可以实现你的输出

var ENV = {
     ------
EmberENV: {
  FEATURES: {
    // Here you can enable experimental features on an ember canary build
    // e.g. 'with-controller': true
  },
  EXTEND_PROTOTYPES: false
},