【发布时间】:2014-05-20 17:48:57
【问题描述】:
我是 Meteor 的新手。我现在有一个带有两个引导列的流星应用程序;每个都包含一个“卡片”列表,左侧列中的卡片与右侧列中出现的卡片具有父关系。单击左侧的卡片,该父级的子卡片会加载到右侧列中。
对于右列中的卡片,我想让它们上的文本成为 contentEditable。我尝试使用一些所见即所得的库,以便我也可以获得一些编辑功能,但它们都以同样的方式失败。您单击要编辑的文本,它清楚地突出显示该字段,就像它可以编辑一样,但您不能输入任何内容。但是...如果您切换到另一个窗口或应用程序,然后切换回来,现在光标正在闪烁,您可以输入。相关代码如下(在此示例中,我使用的是中型编辑器,但就像我说的,我认为问题与此无关)。我不确定事件处理程序是否有帮助;没有它也行不通。
模板.js
Template.editFrame.cards = function () {
return ExCards.find({varId: Session.get("selectedArc")}, {sort: {sortOrder: 1}});
};
Template.exCards.events({
'click .editable': function (evt) {
var field = $('p.editable', evt.target.parentNode);
field.focus();
}
});
};
Template.exCards.rendered = function () {
var editor = new MediumEditor(".editable");
};
模板.html
<template name="editFrame">
<div class="col-lg-10 section-exCards">
<div class="scrollable list">
{{#each cards}}
{{> exCards }}
{{/each}}
{{#if newStoryBox }}
{{> editStory}}
{{/if}}
<div class="add-button-container">
<button class="add-button add-ex-button" id="addExCard">Add Story Item</button>
</div>
</div>
{{> metadataFrame }}
</div>
<!--</div>-->
</template>
<template name="exCards">
<div class="ex-card card-container item row" id="{{_id._str}}">
<div class="item-inner">
<div class="info col-xs-7">
<div class="address">
<p class="editable" id="new_{{_id.str}}">{{name}}</p>
</div>
</div>
</div>
</div>
</template>
【问题讨论】:
标签: javascript html meteor