我想将一个事件从一个元素委托给另一个.我有这个简单的测试代码,但出现了一个异常:错误:469_EVENT_TYPE_ERR:第12行(调度)的DOM事件异常0.我已经读过this,但是前面的注释行没有区别.我该如何进行这项工作?
码:
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
function init(){}
function delegator(e){
alert('the first');
var other = document.getElementById('myCanvas2');
//e.trigger = other;
other.dispatchEvent(e);
}
$("#myCanvas").live('dblclick', delegator);
$("#myCanvas2").live('dblclick', function(){alert('the second');});
</script>
</head>
<body>
<canvas id="myCanvas" style="width:1200px; height:600px; border: solid black 1px;"></canvas>
<canvas id="myCanvas2" style="width:1200px; height:600px; border: solid black 1px;"></canvas>
</body>
</html>
>对我来说重要的是,所有信息都将传递给委托对象,因为它将被其他各种对象(例如Google Maps canvas或任何其他服务)替换.
解决方法:
> .live是前一个deprecated.
>由于您使用的是jQuery,请使用.trigger(…)
function delegator(e){
alert('the first');
$('#myCanvas2').trigger(e);
}
$("#myCanvas").on('dblclick', delegator);
$("#myCanvas2").on('dblclick', function(){alert('the second');});
演示:http://jsfiddle.net/maniator/zbJBd/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。