Plugins 谷歌闭包添加onclick到按钮后,添加此按钮与自定义编辑器插件

Plugins 谷歌闭包添加onclick到按钮后,添加此按钮与自定义编辑器插件,plugins,editor,text-editor,google-closure,google-closure-library,Plugins,Editor,Text Editor,Google Closure,Google Closure Library,我正在为谷歌闭包提供的编辑器制作一个自定义插件。该插件使它能够添加一个按钮 我在设置按钮上的onclick时遇到了问题,其他值都设置得很好 button.innerHTML = event.label; button.className = event.initialClass; var extraClasses = event.extraClasses; if (extraClasses) { button.className += ' ' + extraClasses } b

我正在为谷歌闭包提供的编辑器制作一个自定义插件。该插件使它能够添加一个按钮

我在设置按钮上的onclick时遇到了问题,其他值都设置得很好

button.innerHTML = event.label;
button.className = event.initialClass;

var extraClasses = event.extraClasses;

if (extraClasses)
{
    button.className += ' ' + extraClasses
}

button.onclick = function() { event.onclick };
有人知道我做错了什么,以及我如何解决这个问题吗

创建按钮后,它将添加到编辑器SeamlessField。我目前遇到的第二个问题是,在创建按钮后,我的指针在按钮内,我似乎无法将其取出

我现在有下面的代码来处理这个问题。var按钮是创建的按钮。按钮包含:
test


关于如何解决第二个问题,您有什么想法吗?

首先,您似乎还没有开始使用Google闭包事件代码。将按钮连接到Google Close中的“点击”事件如下:

goog.events.listen(按钮,goog.events.EventType.CLICK,event.onclick)

如果您希望围绕标准CSS类和文本dom操作使用Google Closure的包装器,那么还应该研究
goog.dom
goog.dom.classes
名称空间


第二,你是在用Chrome做测试吗?如果是这样的话,您可能在Webkit中遇到了一个范围问题,记录在关闭代码中:

过去,我通过将一个空的
元素作为兄弟元素插入到有问题的元素(在您的例子中是按钮)之后,并将光标放在
旁边来解决这个问题。但是,没有什么可以阻止用户将光标移回按钮内部。您必须添加更多的逻辑,以防止用户将光标放在按钮文本中

// We want to insert the button in place of the user's selection.
// So we restore it first, and then use it for insertion.
this.restoreOriginalSelection();
var range = this.fieldObject.getRange();
button = range.replaceContentsWithNode(button);

// Done making changes, notify the editor.
this.fieldObject.dispatchChange();

// Put the user's selection right after the newly inserted button.
goog.editor.range.placeCursorNextTo(button, false);

// Dispatch selection change event because we just moved the selection.
this.fieldObject.dispatchSelectionChangeEvent();