gpt4 book ai didi

javascript - 将事件从一个对象委托(delegate)给另一个对象

转载 作者:行者123 更新时间:2023-11-29 10:19:55 26 4
gpt4 key购买 nike

我想将事件从一个元素委托(delegate)给另一个元素。我有这个简单的测试代码,但出现异常:

Error: UNSPECIFIED_EVENT_TYPE_ERR: DOM Events Exception 0 ` at line 12 (the dispatch)

我已阅读 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>
  • 对我来说重要的是所有信息都将发送到委托(delegate)对象,因为它将被各种其他对象替换,例如 Google map Canvas 或任何其他服务。

最佳答案

  1. .livedeprecated不久前。

  2. 既然您正在使用 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/

关于javascript - 将事件从一个对象委托(delegate)给另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13992349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com