带用户处理程序的Javascript自定义事件

时间:2014-09-18 10:55:29

标签: javascript html

因为我可以在这样的javascript中创建自定义事件

var element = document.getElementById('MyElement');
var event = new Event('onrowclick');
element.onrowclick = rowclick();
element.dispatchEvent(event);

function rowclick(){
 //handler
}

但是,如果我想让用户通过如下属性调用自己的处理程序:

<div id="MyElement" onrowclick="MyNewRowClickHandler"></div>
function MyNewRowClickHandler(){
  //handler
}

jsfiddle演示将是最好的。感谢

1 个答案:

答案 0 :(得分:0)

对于该特定情况,我相信您可以在所有“行”的容器上捕获click事件,然后检查target是否有属性onrowclick,在这种情况下运行window[onrowclick](event)

这是一个例子,但你必须在IE的情况下以另一种方式监听事件,只是为了表明这个想法:

http://jsfiddle.net/huafu/366yfsjm/2/