Я динамически создаю кнопку, как нашел в Интернете:
Page = function(...) {
...
};
Page.prototype = {
...
addButton : function() {
var b = content.document.createElement('button');
b.onclick = function() { alert('OnClick'); }
},
...
};
К сожалению, она не работает и выдает следующую ошибку:
Error: [Exception... "Component is not available" nsresult: "0x80040111
(NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: chrome://knowledgizer/content
/knowledgizer.js :: <TOP_LEVEL> :: line 137" data: no]
Source File: chrome://browser/content/tabbrowser.xml Line: 434
Решение с помощью setAttributework:
b.setAttribute("onClick", "alert('OnClick')");
Однако я хочу вызвать метод класса (вместо alert), и синтаксис b.onclick выглядит лучше в этом отношении, я надеюсь / думаю.чувствителен ли этот случай с кликом?Потому что, если я напишу
b.onClick = function() {alert("OnClick");} // notice the spelling onclick vs onClick
, я не получу ошибку выше, но она все еще не работает, т.е. я не получаю предупреждение.Я благодарен за любые советы.
В качестве дополнительного вопроса: Как я могу избежать перезагрузки текущей страницы при нажатии кнопки?Мне просто нравится вызывать метод, а не вызывать перезагрузку страницы.
Спасибо и наилучшими пожеланиями,
Кристиан