Javascript:onclick/onsubmit用于动态创建按钮

前端之家收集整理的这篇文章主要介绍了Javascript:onclick/onsubmit用于动态创建按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我按照我在互联网上找到的方式动态创建一个按钮:
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

setAttribute的解决方案:

b.setAttribute("onClick","alert('OnClick')");

但是,我希望调用一个类方法(而不是alert),并且b.onclick语法在这方面看起来更好,我希望/想.这个onclick案件是否敏感?因为如果我写

b.onClick = function() {alert("OnClick");} // notice the spelling onclick vs onClick

我没有得到上面的错误,但它仍然没有工作,即我没有得到警报.我很感谢任何提示.

作为一个额外的问题:如何在单击按钮时避免重新加载当前页面?我只是想调用一个方法而不是导致页面重新加载.

谢谢和最好的问候,

基督教

解决方法

var foo = function(){
  var button = document.createElement('button');
  button.innerHTML = 'click me';
  button.onclick = function(){
    alert('here be dragons');return false;
  };
  // where do we want to have the button to appear?
  // you can append it to another element just by doing something like
  // document.getElementById('foobutton').appendChild(button);
  document.body.appendChild(button);
};
原文链接:https://www.f2er.com/js/156456.html

猜你在找的JavaScript相关文章