JQuery最佳实践之精妙的自定义事件 - Web前端
作者:98wpeu发布时间:2026-06-11分类:网页前端技术浏览:138
导读:恰好偶最近负责的一个可视化编辑器的开发,其中有些地方便应用了JQuery的自定义事件,而且达到了很好的效果-精简代码的同时充分利用了OO的原则。本文以我实际应用开发过程中遇到的一...
恰好偶最近负责的一个可视化编辑器的开发,其中有些地方便应用了JQuery的自定义事件,而且达到了很好的效果-精简代码的同时充分利用了OO的原则。
本文以我实际应用开发过程中遇到的一个例子进一步说明“什么时候用jQuery的自定义事件以及怎么用”,希望可以抛砖引玉,同时权且当是回复同学们的邮件了。
Demo-Ingenious jquerycustomevent
jquery最佳实践-精妙的自定义事件
问题:一个复选框X,你如何便捷地触发它的click事件的处理逻辑,但是又不改变它当前的选中状态?
答案:用自定义事件处理函数封装复选框click事件的处理逻辑!然后触发该自定义事件。
以下应用场景你曾经遇到过么?
需求:某个容器A,用户可以设置它的4条边框的有无以及边框色?“边框的有无”和“颜色的变化”需要联动,
就是说改变边框的时候获取当前设定的颜色,改变颜色的时候获取当前设定的边框,并及时反映到容器A上。
注:本例子边框颜色统一设置,分别设置的例子大家可以去写下~
核心代码:
复制代码 代码如下:
<div id="demo">
<div class="acts">
<label for="txTCPk"></label>边框设置:<inputtype="text" size="10" id="txtCpk" name="color"/>
<input type="checkbox" name="bd" value="top"/><span>上</span>
<input type="Checkbox" name="bd" value="right"/><span>右</span>
<input type="checkbox" name="bd" value="bottom"/><span>下</span>
<input type="checkbox" name="bd" value="left"/><span>左</span>
</div>
<Textarea id="A" cols="100" rows="29"></textarea>
</div>
</body>
<script id="JS" type="text/javascript">
//<![Cdata[
//目标容器A
var $a=$("#A");
//拾色器
var $txtColor=$("#txtCpk").ColorPicker({
onChange:function(hsb,hex,rgb){
$txtColor.val("#"+hex).CSS("backgroundColor","#"+hex);
//联动边框-触发自定义事件"evtClick",避免改变复选框的状态
//这里可不能直接用$bd.trigger("click")噢;
//$bd.trigger("click");
$bd.trigger("evtClick");
}
});
//边框及自定义事件的应用
var $bd=$("#demo input[type='checkbox']").bind("evtClick",function(evt){
var c=this.checked?"2px solid "+$txtColor.val():"none";
$a.css("border-"+this.value,c);
}).click(function(evt){
$(this).trigger("evtClick");
});
//show the js
$(document).ready(function(){
$a.val($("#js").html());
});
//]]>
</script>
在线演示
本文以我实际应用开发过程中遇到的一个例子进一步说明“什么时候用jQuery的自定义事件以及怎么用”,希望可以抛砖引玉,同时权且当是回复同学们的邮件了。
Demo-Ingenious jquerycustomevent
jquery最佳实践-精妙的自定义事件
问题:一个复选框X,你如何便捷地触发它的click事件的处理逻辑,但是又不改变它当前的选中状态?
答案:用自定义事件处理函数封装复选框click事件的处理逻辑!然后触发该自定义事件。
以下应用场景你曾经遇到过么?
需求:某个容器A,用户可以设置它的4条边框的有无以及边框色?“边框的有无”和“颜色的变化”需要联动,
就是说改变边框的时候获取当前设定的颜色,改变颜色的时候获取当前设定的边框,并及时反映到容器A上。
注:本例子边框颜色统一设置,分别设置的例子大家可以去写下~
核心代码:
复制代码 代码如下:
<div id="demo">
<div class="acts">
<label for="txTCPk"></label>边框设置:<inputtype="text" size="10" id="txtCpk" name="color"/>
<input type="checkbox" name="bd" value="top"/><span>上</span>
<input type="Checkbox" name="bd" value="right"/><span>右</span>
<input type="checkbox" name="bd" value="bottom"/><span>下</span>
<input type="checkbox" name="bd" value="left"/><span>左</span>
</div>
<Textarea id="A" cols="100" rows="29"></textarea>
</div>
</body>
<script id="JS" type="text/javascript">
//<![Cdata[
//目标容器A
var $a=$("#A");
//拾色器
var $txtColor=$("#txtCpk").ColorPicker({
onChange:function(hsb,hex,rgb){
$txtColor.val("#"+hex).CSS("backgroundColor","#"+hex);
//联动边框-触发自定义事件"evtClick",避免改变复选框的状态
//这里可不能直接用$bd.trigger("click")噢;
//$bd.trigger("click");
$bd.trigger("evtClick");
}
});
//边框及自定义事件的应用
var $bd=$("#demo input[type='checkbox']").bind("evtClick",function(evt){
var c=this.checked?"2px solid "+$txtColor.val():"none";
$a.css("border-"+this.value,c);
}).click(function(evt){
$(this).trigger("evtClick");
});
//show the js
$(document).ready(function(){
$a.val($("#js").html());
});
//]]>
</script>
在线演示
相关推荐
- 浅析jQuery移动开发中内联按钮和分组按钮的编写 - Web前端
- jQuery mobile类库使用时加载导航历史的方法简介 - Web前端
- jquery实现移动端点击图片查看大图特效 - Web前端
- jQuery+jsp实现省市县三级联动效果(附源码) - Web前端
- 基于Jquery实现仿百度百科右侧导航代码附源码下载 - Web前端
- jquery组件WebUploader文件上传用法详解 - Web前端
- 纯jquery实现模仿淘宝购物车结算 - Web前端
- 基于jquery实现鼠标滚轮驱动的图片切换效果 - Web前端
- 基于jquery实现可定制的web在线富文本编辑器附源码下载 - Web前端
- jQuery实现简易的天天爱消除小游戏 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


