gpt4 book ai didi

attributes - ember,如何在多个链接中获取 "name"属性?

转载 作者:行者123 更新时间:2023-12-02 06:05:59 26 4
gpt4 key购买 nike

我是 Ember 的初学者。我有很多链接(即),带有属性“名称”,当我点击其中一个时,我想获得这个属性。我知道如何只使用一个和 bindAttr,但我正在尝试使用此代码,但无法正常工作。我需要使用许多 bindAttr???,对于每个链接?,昨天我做了这个(只有一个链接):

<body>

<div id="templateHere"></div>

<!--handlebar-->
<script type="text/x-handlebars" data-template-name="text">
<h1>Send the message:</h1>
<a {{action "clicked" on="click"}} name='link1'>Click me!!</a>
<a {{action "clicked" on="click"}} name='link2'>click me again</a>
</script>​





<script>
//namespace
App = Ember.Application.create();

//define view
App.myview = Ember.View.extend({
templateName: 'text',
name_attribute:'name_buttooooon',
message: '',
clicked: function(event) {
console.log(jQuery(this).attr('name'));//get attribute name value
}
});

//create view
App.myview=App.myview.create();

//insert view in body
$(function() {
App.myview.append('#templateHere');
});

</script>

</body>

最佳答案

您可以通过使用 event.currentTarget 来实现这一点。 .它是 jQuery property :

Description: The current DOM element within the event bubbling phase.

This property will typically be equal to the this of the function.

If you are using jQuery.proxy or another form of scope manipulation, this will be equal to whatever context you have provided, not event.currentTarget


我猜 Ember 为事件创建了一些特殊的上下文,因为 jQuery 文档说 currentTarget应该等于 this .
所以在你的代码中看起来像这样:
clicked: function(event) {
console.log($(event.currentTarget).attr('name'));
}
你可以试试这个解决方案 in this JSFiddle .

关于attributes - ember,如何在多个链接中获取 "name"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12769802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com