27

我正在寻找类似于thisof 的东西jQuery。我将在我拥有的代码下方列出:

<script type="text/x-handlebars" data-template-name="uiMainContainerTaskList">
    <div class="uiMainContainerTaskListContent">
    {{#view App.TasksView}}
    {{#each App.tasksController.tasks}}
    <div class="uiMainContainerWideItem" {{action "taskClick" target="TasksView" on="click"}}>
        <div class="uiMainContainerWideItemCheckbox">{{view Em.Checkbox checkedBinding="isDone"}}</div>
        <div class="uiMainContainerWideItemText uiMainContainerWideItemTaskName">{{taskName}}</div>
        <div class="uiMainContainerWideItemText uiMainContainerWideItemTaskDescription">{{taskDescription}}</div>
        <div class="uiMainContainerWideItemText uiMainContainerWideItemTaskPriority">{{priority}}</div>
        <div class="uiMainContainerWideItemText uiMainContainerWideItemTaskDueDate">{{dueDate}}</div>
    </div>
    {{/each}}
    {{/view}}
    </div>
</script>  

我将taskClick动作绑定到div.uiMainContainerWideItem. 在我的View我有:

App.TasksView = Em.View.extend({
    templateName: 'uiMainContainerTaskList',
        taskClick: function(e) {
            console.log($(this)); 
        }
});  

jQuery,$(this)将是当前元素(没有子元素)。有没有办法在 Ember 中获取当前元素?

4

3 回答 3

48

相信你正在寻找this.$()

于 2012-08-07T16:31:25.790 回答
21

您可以调用this.get('element')以获取实际元素。

请参阅:Ember 查看文档

于 2014-03-06T20:47:18.360 回答
2

我知道这是一个老问题,但由于视图已被弃用(如果组件不需要它),您可以将操作传递给 dom onclick 事件并在操作的最后一个参数中获取事件 js 对象。

请检查https://stackoverflow.com/a/37066157/2726189

希望能帮助到你

于 2016-05-06T07:01:33.383 回答