我的模板是这样的,
<ul id="items">
{{#each items as |item index|}}
<li>
<!-- <input type="checkbox" id={{concat "pf" index}} /> -->
{{input type="checkbox" id=(concat "pf" index)}}
</li>
{{/each}}
</ul>
我的 js 就像这样,
import Ember from "ember";
export default Ember.Controller.extend({
appName: "Ember Twiddle",
items: [{}],
init: function() {
$(document).on("click.somename", function (e) {
alert($(e.target).parent().length); //should get parent as "li" and length as 1
});
}
});
我的项目发生了什么,如果我点击ember输入帮助器,我无法使用parentElement
获取jQuery
。但是当我将输入帮助器更改为正常<input type="checkbox" />
时,我能够获得parentElement
。我不知道Safari / Ember是否正在使用任何虚拟DOM或其他东西来呈现自己的帮助者。 此问题仅在Safari 中发生。在Chrome中,它运行正常。
不幸的是,由于问题无法在其中复制,我无法制作小提琴/插件。对于那个很抱歉。在我的项目中,我使用ember@2.7.3
。
有关此问题的任何建议/帮助吗?
答案 0 :(得分:0)
虽然我建议尝试找到一种方法来避免首先使用jQuery点击事件,但这听起来像是不同浏览器如何处理parent
的问题。我更愿意使用.closest('li').eq(0)
来访问与您要查找的元素匹配的第一个父级。