Rumah >hujung hadapan web >tutorial js >有关DOM元素与事件的3个谜题_DOM

有关DOM元素与事件的3个谜题_DOM

WBOY
WBOYasal
2016-05-16 18:16:371100semak imbas
一、背景知识介绍
通常为DOM元素增加事件有以下几种办法:
1,硬编码形式
2,事件监听
3,JS框架提供的事件绑定
1,硬编码形式,采用的是原始事件(Original Event)的形式。
代码类似如下:
复制代码 代码如下:


document.getElementById('element_id').eventName = func();

2,事件监听机制,这种形式采用的做法是根据DOM事件机制,分为DOM标准事件模型addEventListener和IE事件模型attchEvent。
代码类似如下:
复制代码 代码如下:

var addEventHandler = function(ele, evt, fn){
if (ele.addEventListener) {
ele.addEventListener(evt, fn, false);
}
else
if (ele.attachEvent) {
ele.attachEvent('on' + evt, fn);
}
else {
ele['on' + evt] = fn;
}
};
var ele = document.getElementById('element_id');
addEventHandler(ele, 'eventName', function(){ code... });

3,JS框架提供的事件绑定机制,这里假设使用jQuery框架。
代码类似如下:
复制代码 代码如下:

$('element_id').bind('eventName', function(event){ code... });
$('element_id').click(function(){ code... });

二、谜题
谜题是这样的,加入页面中有如下的代码片段:
复制代码 代码如下:


... ...


... ...






... ...



遵循以上的思路,有没有人可以帮助我写一下hijack code 03 和 hijack code 04的代码?或者提供其他解决途径呢?
遵循以上的思路,有没有人可以帮助我写一下hijack code 03 和 hijack code 04的代码?或者提供其他解决途径呢?
1,既有代码是绝对不能修改的。
2,如果可以,扩展js原始类也是允许的。
3,func_test和not_existfunc是事先不知道的,只能通过“获取”得到。
4,最终的目的我需要知道错误发生的错误对象,方法名和事件、参数,基于此目的,其他解决方案也是可以的。
5,不能使用firebug之类的客户端调试工具。来让这类工具告诉你“代码错了”。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn