JS实现一个按钮的方法


Posted in Javascript onFebruary 05, 2015

本文实例讲述了JS实现一个按钮的方法。分享给大家供大家参考。具体实现方法如下:

<!doctype html> 
<html> 
  <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="edge"> 
    <script> 
    window.onload = function(){ 
      var btn = new Btn(); 
      btn.init({width:300}); 
      bindEvent(btn,'show',function(){ 
        alert(1); 
      }) 
      bindEvent(btn,'click',function(){ 
        alert(2); 
      }) 
      var oBtn = document.getElementById('btn'); 
      oBtn.onclick = function (){ 
        fireEvent(btn,'show'); 
      } 
    } 
      function Btn(){ 
        this.btn= null; 
        this.settings = { 
          width:200, 
          height:40, 
          borderRadius:6, 
          text :'按钮' 
        }; 
      } 
      Btn.prototype.init = function (opt){ 
 
        extend(this.settings,opt); 
        this.creat(); 
      } 
      Btn.prototype.creat = function (){ 
        this.btn =document.createElement('div'); 
         
        document.body.appendChild(this.btn); 
        this.btn.innerHTML = this.settings.text; 
        this.setData(); 
      } 
      Btn.prototype.destory = function (){ 
        document.body.removeChild(this.btn); 
      } 
      Btn.prototype.setData = function (){ 
        this.btn.style.width = this.settings.width +'px'; 
        this.btn.style.height = this.settings.height +'px'; 
        this.btn.style.border ='solid #f00 '+ this.settings.borderRadius +'px'; 
 
      } 
    function extend(obj1,obj2){ 
      for(var attr in obj2){ 
        obj1[attr] = obj2[attr]; 
      } 
    } 
    function bindEvent(obj,events,fn){ 
      obj.listeners = obj.listeners || {}; 
      obj.listeners[events] = obj.listeners[events] || []; 
      obj.listeners[events].push( fn ); 
      if(obj.nodeType){ 
        if(obj.addEventListener){ 
          obj.addEventListener(events,fn,false); 
        }else{ 
          obj.attachEvent('on'+events,fn); 
        } 
      } 
    } 
    function fireEvent (obj,events){ 
      if(obj.listeners[events]){ 
        for(var i in obj.listeners[events]){ 
          obj.listeners[events][i](); 
        } 
      } 
    } 
    </script> 
  </head> 
  <body> 
  <a id="btn" style="margin-top: 40px;" >12</a> 
  </body> 
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
innerText和innerHTML 一些问题分析
May 18 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
jQuery表单域选择器用法分析
Feb 10 Javascript
js游戏人物上下左右跑步效果代码分享
Aug 28 Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 Javascript
javascript 判断当前浏览器版本并判断ie版本
Feb 17 Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
Nov 30 Javascript
setTimeout与setInterval的区别浅析
Mar 23 Javascript
js常用正则表达式集锦
May 17 Javascript
Layui 动态禁止select下拉的例子
Sep 03 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 Javascript
JS继承用法实例分析
Feb 05 #Javascript
Javascript实现Web颜色值转换
Feb 05 #Javascript
JS表的模拟方法
Feb 05 #Javascript
JS的数组迭代方法
Feb 05 #Javascript
js实现照片墙功能实例
Feb 05 #Javascript
js实现仿百度瀑布流的方法
Feb 05 #Javascript
JS函数this的用法实例分析
Feb 05 #Javascript
You might like
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP之预定义接口详解
2015/07/29 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
javascript中的array数组使用技巧
2010/01/31 Javascript
js自定义事件代码说明
2011/01/31 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
2013/08/05 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
js和jquery设置disabled属性为true使按钮失效
2014/08/07 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
checkbox在vue中的用法小结
2018/11/13 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
如何通过命令行进入python
2020/07/06 Python
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
工商学院毕业生自荐信
2013/11/12 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
医院总经理岗位职责
2014/02/04 职场文书
法学函授自我鉴定
2014/02/06 职场文书
信访稳定工作汇报
2014/10/27 职场文书
工地食品安全责任书
2015/05/09 职场文书
堂吉诃德读书笔记
2015/06/30 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书