Javascript 如何在html中使用onclick调用firefox插件函数

Javascript 如何在html中使用onclick调用firefox插件函数,javascript,firefox-addon,Javascript,Firefox Addon,我正在尝试编写一个程序,用正则表达式扫描电话号码。然后,如果匹配,基本上应该在电话号码后面添加一个图像,该图像应该可以单击,然后在我的Firefox扩展中调用我的函数 onDialerHandler: function(number){ alert("onclick Event detected!"); }, onPageLoad : function(aEvent) { if(aEvent.originalTarget.nodeName=="#document"){ var doc

我正在尝试编写一个程序,用正则表达式扫描电话号码。然后,如果匹配,基本上应该在电话号码后面添加一个图像,该图像应该可以单击,然后在我的Firefox扩展中调用我的函数

onDialerHandler: function(number){
  alert("onclick Event detected!");
},

onPageLoad : function(aEvent) {
if(aEvent.originalTarget.nodeName=="#document"){
  var doc = aEvent.originalTarget;

  var regex = /\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})/g;      

  var contents=doc.body.innerHTML;  

  var idx=contents.search("hello");
  if(idx) {
    var candidates = contents.match(regex);

    contents=contents.replace(regex,'($1) $2-$3<input id="testbutton" type="image" src="chrome://click2dial/content/images/call.png" name="image" onclick="onDialerHandler()"  width="15" height="15">');
    doc.body.innerHTML=contents;
    }  
  }
},
onDialerHandler:函数(编号){
警报(“检测到onclick事件!”);
},
onPageLoad:功能(aEvent){
if(aEvent.originalTarget.nodeName==“#文档”){
var doc=aEvent.originalTarget;
var regex=/\(?([0-9]{3})\)?[-.]([0-9]{3})[-.]?([0-9]{4})/g;
var contents=doc.body.innerHTML;
var idx=contents.search(“hello”);
如果(idx){
var候选者=contents.match(regex);
contents=contents.replace(regex,“($1)$2-$3”);
doc.body.innerHTML=内容;
}  
}
},
我对firefox插件和javascript仍然很陌生。这是我发现的一种添加图像的方法,但我无法处理onclick

我读过关于人们使用“createElement”的文章,但我就是不能让它工作

如果有任何机构,可以帮助我的代码添加我的点击图像的背面,我的常规表达匹配。单击图像后,需要调用onDialerHandler函数


我确实认为我需要帮助,不要使用.replace函数来实现此功能。即使给我指出正确的方向也能帮助我分配资源

您应该在页面中创建一个自定义事件并分派它


  var evt = document.createEvent("Events");
  evt.initEvent("MY_EVENT", true, false);
  document.dispatchEvent(evt);
在扩展端,您应该创建一个侦听器来捕获事件


document.addEventListener("MY_EVENT", myFunction, false, true);
如果您想传递某个日期,可以使用此事件的用户事件


  var evt = document.createEvent("Events");
  evt.someDate = "date";
 ....