如何给自己创建的js对象赋予事件? 我现在要自己创建一个js对象,用于封装一个activeX插件.这个ActveX控件有一个事件,在HTML中可以直接使用的.现在我想做一个js对象,封装这个控件,并且为这个js对象注册一个事件.现在没有搞清楚,自己创建的js对象可以有事件么?如何写事件代码呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以。不是语法问题,而是思路问题。要创建有激发事件的对象,那你同样就得创建能发起事件的环境。否则,你的事件处理函数就英雄无用武之地。所以你可以先给JS对象(比如叫Theforever_csdn)增加一个方法,比如on_Theforever_csdn(可选对事件传入参数,比如当类似键盘事件那样有多种值内容时),在里面写这个事件应该处理的任务即可。然后需要在JS里创建能激发这个事件处理函数的“事件驱动机制”。其实很简单:假如你想在变量Theforever_csdn.name或对象Theforever_csdn发生改变时激发你这个事件,那么你可以作一个方法把改变这个目标对象的任务由它完成,同时在改变完成后,结束之前去调用一下 Theforever_csdn.on_Theforever_csdn(可选参数); 就可以了。当你以后处理那个变量或对象,通过这样封装的方法去做,自然可以激发你的那个事件。但在你实际编写时,要根据实际应用情况,注意选择是处理对象类还是对象实体。 事件的实现机理很简单的,类似回调,举例:function obj(){ this.show=function() { if(this.beforeshow) this.beforeshow(); document.body.innerHTML="<div>测试控件</div>"; if(this.onshow) this.onshow(); }}把obj看作一个控件类,该类就实现了两个事件,beforeshow与onshow,分别在控件显示前和显示后执行使用时:var test=new obj();test.beforeshow=function(){alert('控件开始加载');}test.onshow=function(){alert('控件加载成功');}test.show();这样控件显示前后就会分别执行两个事件函数了 你的需求可以实现:<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script><script>$(function(){ // 自定义一个对象 var obj = {}; // 给这个对象绑定一个事件,事件的名称可以随意 $(obj).bind("myClick", function(){ alert("触发了obj的myClick事件"); }); // 点击test按钮,触发这个obj的myClick事件 $("#test").click(function(){ $(obj).trigger("myClick"); });});</script><body><input id="test" value="test" type="button" /></body> JavaScript中settimeout的问题~ DOM+Javascript中的src值动态改变!!高难代码 大家一起解决!! JS如何将input type=text里的value值传递到指定的文件夹急求 【帮忙翻译一下下面的JS】给分哦。 关于EXTJS导出word文档的问题 php 里写的javascript小问题。在线等待—————————————————————— 请问怎么能够弹出一个对话框 散个文本渐变背景代码先 求教树形菜单,数据从数据库取 各位仁兄请帮忙! 急!如何将桌面应用程序嵌入IE浏览器 大虾门,求救啊,IE6下uploadify的添加附件按钮图片显示不出来
function obj()
{
this.show=function()
{
if(this.beforeshow) this.beforeshow();
document.body.innerHTML="<div>测试控件</div>";
if(this.onshow) this.onshow();
}
}
把obj看作一个控件类,该类就实现了两个事件,beforeshow与onshow,分别在控件显示前和显示后执行使用时:
var test=new obj();
test.beforeshow=function(){alert('控件开始加载');}
test.onshow=function(){alert('控件加载成功');}
test.show();这样控件显示前后就会分别执行两个事件函数了
<script>
$(function(){
// 自定义一个对象
var obj = {};
// 给这个对象绑定一个事件,事件的名称可以随意
$(obj).bind("myClick", function(){
alert("触发了obj的myClick事件");
});
// 点击test按钮,触发这个obj的myClick事件
$("#test").click(function(){
$(obj).trigger("myClick");
});
});
</script>
<body>
<input id="test" value="test" type="button" />
</body>