Так что я кодирую сценарий Greasemonkey для этого сайта .. Во всяком случае, моя проблема в том, что я не могу прикрепить событие onclick к моему новому созданный якорь.Я хочу добавить событие в ссылку динамически .. Но привязка onclick не работает
Я не знаю, что случилось, может быть, потому, что я нахожусь в Greasemonkey, поэтому он не работал должным образом?
function createButton() {
var a = document.createElement('a');
var css = document.createElement('style');
css.type = 'text/css';
css.innerHTML = '#prt { position:absolute; right:3em; top: 6em; font-family: Arial,Helvetica,sans-serif; font-weight:bold; font-size:125%; background: #777777 none repeat scroll 0 0; color: white; padding: 6px 12px;}'
a.href = '#';
a.innerHTML = 'Print Topic';
a.id = 'prt';
a.onclick = getTopic; // DOESN'T WORK
document.body.insertBefore(a, document.body.lastChild);
document.body.appendChild(css);
}
Я попробовал другой метод, как SetAttribute
a.setAttribute('onclick', function() { alert("hey"); });
SetAttribute тоже не работает ..
Почему ??
Привет, ребята,
Я сделал это сработало. Кто-то помог мне в IRC#greasemonkey .. Спасибо, бросок!
Таким образом, проблема использования setAttribute или свойства .onclick элемента greasemonkey не поддерживает их, вместо этого он вернет ошибку «Component not available» в консоли JavaScript.
Если вы столкнулись с этой проблемой, прежде чем вы должны использовать
element.addEventListener ('click', myClickHandler, false);
Вот Wiki: http://wiki.greasespot.net/XPCNativeWrapper#Event_Handlers
Спасибо .. Но кнопка не появляется после того, как упаковка этой функции. – rymn