在 AS3.0 有
obj.addEventListener(eventName,functionToCall)
obj.dispatchEvent(new Event(eventName));如题JS也有吗? 如果有如何定义和使用?
obj.addEventListener(eventName,functionToCall)
obj.dispatchEvent(new Event(eventName));如题JS也有吗? 如果有如何定义和使用?
解决方案 »
- 如何在IE8的选项卡之间进行焦点切换
- 写了一个自己的homepage,有些什么网站提供客户挂载一些页面的?
- 含有JAVASCRIPT的网页全部都会弹出危险提示吗?
- 如何用javascript修改类样式表呢?
- Javascript encode加密的文件解密仍是乱码,是怎么回事呢?
- 谁能把这样的效果给搞出来,我已经试了一晚上了,还没搞定,请高人相助!
- 下拉框控制文本框onClick
- 怎样改变checkbox后字符的颜色?
- 这个问题请我不明白!
- 在IE中“对象不支持indexOf属性或方法”
- 各位好,请问对象定义时,以下两种Object Literals有什么区别?
- firefox下disabled不能正常显示的问题
IE7 用 JS 控制 position:relative 的DIV[id = ContentDiv] 高度时鼠标会不停的闪动,这个要怎么处理啊?
<div id="ContentDiv" class="SubjectTab BlueTab" style="overflow:hidden;position:relative">
<div class="TabPartItem" style="overflow:hidden;*position:relative;*z-index:1"></div>
<div class="TabPartItem" style="overflow:hidden;*position:relative;*z-index:1"></div>
<div class="TabPartItem" style="overflow:hidden;*position:relative;*z-index:1"></div>
</div>
if (tatget.addEventListener) {
tatget.addEventListener(eventName, handler, false);
} else if (tatget.attachEvent) {
tatget.attachEvent("on" + eventName, handler);
} else {
tatget["on" + eventName] = handler;
}
}function removeEventHandler(tatget, eventName, handler) {
if (tatget.removeEventListener) {
tatget.removeEventListener(eventName, handler, false);
} else if (tatget.eventName) {
tatget.detachEvent("on" + eventName, handler);
} else {
tatget["on" + eventName] = null;
}
}
* @param {Object} oTarget 对象
* @param {String} sEventType 事件类型
* @param {Function} fnHandler 事件方法
*/
var removeEventHandler = function(oTarget, sEventType, fnHandler) {
if(oTarget.listeners && oTarget.listeners[sEventType]){
var listeners = oTarget.listeners[sEventType];
for(var i = listeners.length-1;i >= 0 && fnHandler;i--){
if(listeners[i] == fnHandler){
listeners.splice(i,1);
}
}
if((!listeners.length || !fnHandler) && listeners["_handler"]){
oTarget.removeEventListener ? oTarget.removeEventListener(sEventType, listeners["_handler"], false) : oTarget.detachEvent('on' + sEventType, listeners["_handler"]);
delete oTarget.listeners[sEventType];
}
}
}
/*添加事件
* @param {Object} oTarget 对象
* @param {String} sEventType 事件类型
* @param {Function} fnHandler 事件方法
*/
var addEventHandler = function(oTarget, sEventType, fnHandler) {
oTarget.listeners = oTarget.listeners || {};
var listeners = oTarget.listeners[sEventType] = oTarget.listeners[sEventType] || [];
listeners.push(fnHandler);
if(!listeners["_handler"]){
listeners["_handler"] = function(e){
var e = e || window.event;
for(var i = 0,fn;fn = listeners[i++];){
fn.call(oTarget,e)
}
}
oTarget.addEventListener ? oTarget.addEventListener(sEventType, listeners["_handler"], false) : oTarget.attachEvent('on' + sEventType, listeners["_handler"]);
}
}/*触发事件
* @param {Object} oTarget 对象
* @param {String} sEventType 事件类型
*/
var dispatchEventHandler = function(oTarget,sEventType){
if(oTarget.dispatchEvent){
var e = document.createEvent('Event');
e.initEvent(sEventType,true,true);
oTarget.dispatchEvent(e);
}else{
oTarget.fireEvent('on'+sEventType);
}
}