.net的自定义JS控件,运用了 面向对象的思想 封装 了 控件(.net自定义控件开发的第一天)
大家好!我叫刘晶,很高兴你能看到我分享的文章!希望能对你有帮助!
首先我们来看下几个例子 ,就能看到 如何 自定义控件!
业务需求: 制作 一个 属于 自己的 按钮 对象 ,然后 像 winfrom 那样调用 就可以了:
首先 我们新建一个 MyControls的 JS文件:(插入如下代码)
//这里运用的面向对象的思想 ,新建了一个按钮对象
var button = function (ClientId) {
this.control = null; //属性: 按钮对象的 自己
this.id = null; //按钮对象的 id
this.value = null; //按钮对象显示的值
this.click = null; //按钮对象的点击事件
//接下来是初始化, 所有 按钮的属性
this.init = function () {
this.id = ClientId; //这个是页面传过来的id var button_html = '<div href="#" id="button_'+this.id+'" class="button" > ' + this.value + '</div>'; // 这个是我们要插入 的 html文件
this.control.after(button_html);
this.control = $("#" + ClientId); //这是通过 id绑定控件 (有关 需找 标签 都要写到 页面加载完 标签之后执行)
//绑定点击事件 $("#button_"+this.id+).unbind("click").bind("click",this.click); this.control.hide(); //隐藏 当前控件 }; }
接下来我们 怎么用的这个 对象呢?
首先,我们先导入 jquery的插件
然后我们要引入 这个 文件的路径:
接下来写入 button 的样式:
<style type="text/css">
.button {
padding: 10px 20px 10px 20px; border: medium solid #FF00FF; width:auto; height: 20px; float: left; background-color: #808080; font-family: 幼圆; font-size: large; font-weight: bold;
}
</style>
然后 ,接下来我们 在 你的 web页面内 写下:
<div id="btn"></div> //这里 是我们的要将 其改变成 按钮
<script type="text/javascript">
var btn_button = new button("btn"); //这里是 new 一个按钮的对象, 有没有觉得 非常 像 winfrom 的开发
btn_button.value = "我是好人"; //这里是给他的属性赋值
btn_button.click = function () { //这里是 按钮的点击事件
alert(1);
}
btn_button.init(); //然后初始化 按钮 ,注意!!! 初始化 一定要在 所有属性 赋值完成后才执行
</script>
于是我们就可以 得到下面的效果:

点击之后弹出 一个 提示框,我相信 你们也能做到。
总结:
这样写 似乎 很容易理解 ,但是有没有觉得 这样写 自定义控件 有点麻烦,是否可以 更加 简单化呢?
下一章我将会 在 他的基础上 进行 封装,集成,多态,相信 大家应该都听过吧?而且 按钮的功能还不够强大,
为什么 我们不能将这个按钮做的更加 牛逼些呢?
.net的自定义JS控件,运用了 面向对象的思想 封装 了 控件(.net自定义控件开发的第一天)的更多相关文章
- 自定义JS控件-简单示例
1. 业务需求: 制作 一个按钮对象,然后 像 winfrom 那样调用 就可以了: 首先 我们新建一个 MyControls的 JS文件:(插入如下代码) //这里运用的面向对象的思想 ,新建了 ...
- Atitit 项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx
Atitit 项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx 1. 场景:应用在项目列表查询场景下1 1.1. 预计初步掌握vue ...
- [Ext JS 4] 实战之 带week(星期)的日期选择控件(三)
前言 在 [Ext JS 4] 实战之 带week(星期)的日期选择控件(二) 的最后,有提到一个解决方案. 不过这方案有一个条件 ==> “2. 每年的周数从(1-52), 如果超过52 周 ...
- vue.js基础知识篇(3):计算属性、表单控件绑定
第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html><html lang="en" ...
- Android自定义View(RollWeekView-炫酷的星期日期选择控件)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/53420889 本文出自:[openXu的博客] 目录: 1分析 2定义控件布局 3定义Cus ...
- JS 获取某个容器控件中id包含制定字符串的控件id列表
//获取某容器控件中id包含某字符串的控件id列表 //参数:容器控件.要查找的控件的id关键字 function GetIdListBySubKey(container,subIdKey) { va ...
- C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值
关于PropertyGrid控件的详细用法请参考文献: 1.C# PropertyGrid控件应用心得 2.C#自定义PropertyGrid属性 首先定义一个要在下拉框显示的控件: using Sy ...
- 示例篇-购物车的简单示例和自定义JS
简介: 支持平台: Android4.0,iOS7.0,Windows 10, Windows 10 mobile 说明:主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点 ...
- 问题解决——基于MSCOMM32.OCX控件的类在客户机不能创建控件
大家不要笑我了,我不喜欢用那个人家写的串口类. 所以导出了MSCOMM32.OCX的类,然后在此基础上写了一个串口打印机的小工具类. -------------声明--------------- 本文 ...
随机推荐
- HDU 4067 Random Maze
意甲冠军: 一个"随机图"它被定义为具有以下性质如: 一个入口和一个出口 有向图 对于入口 出度比入度大1 对于出口 入度比出度大1 对于其它点 入度等于出度 现给出一幅有向 ...
- SQL Server高可用——日志传送(4-2)——部署
原文:SQL Server高可用--日志传送(4-2)--部署 前文再续,书接上一回.本章演示一下日志传送的具体过程 准备工作: 由于时间关系,已经装好了3台虚拟机,且同在一个域里面: SQL01:主 ...
- nisi 脚本示例
只是简单的copy文件和添加快捷方式,安装和卸载时对程序是否运行进行检测 ;-------------------------------- ;Include Modern UI !include & ...
- HTML与XHTML差额
实际上.XHTML 与 HTML 4.01 标准没有太多的不同. 它们最基本的不同.举例说明例如以下: 1.XHTML 元素必须被正确地嵌套. 错误:<p><span>this ...
- 8年,属于 HTML 5 春天的到来悄悄!
[核心提示] 在 8 年时间中,HTML 5 为整个行业都带来了什么.标准终于确定后又会产生什么样的变革呢? 微博微信Twitter对于非常多人来说,非常有可能在微信的朋友圈里玩过「围住神经猫」,也非 ...
- Windows下Jekyll安装
一直用Mac,换了新公司使用的电脑是windows,网上粗略的看了一下Jekyll的安装.简略的实现了一遍 首先安装Ruby Ruby安装文件下载地址 下载对应版本,我的电脑是64位的下载64位的版本 ...
- NSIS:安装、卸载时检查程序是否正在运行
原文 NSIS:安装.卸载时检查程序是否正在运行 如果我们要安装或升级的程序正在运行,文件肯定会替换不成功,以下代码可以提示用户结束正在运行的程序. 需要使用插件FindProcDLL.dll,下载路 ...
- 【 Android官方文件读书笔记】连接网络
一间连接应用网络的主要功能.Android系统对网络连接进行了封装,使得开发人员可以更快的给应用添加网络功能.大多数网络连接的Android应用使用HTTP发送和接受数据.Android包含两个HTT ...
- SSH-Struts(三)—ActionForm
ActionForm ActionForm用于封装用户的请求数据.即用户在页面上输入的数据.它充当了一个运输工具的角色.为了能够立体的理解ActionFrom.以下从两个角度看看: 从封装的数 ...
- requireJS的使用_API-1
requireJS的使用_API(1) 之前有介绍过requireJS(模块化开发),可以看看 ,但是不详细,所以今天参考官网来详细介绍一下: 1.加载js文件: RequireJS的目标是鼓励代码的 ...