日期:2012-5-14 来源:GBin1.com
在线演示1
在线演示2
本地下载
网站和web开发中我们常常需要处理类似标签添加功能的模块,以前我们也介绍过相关的jQuery插件 - textext
,可以方便的添加标签增减和自动补齐相关功能。今天这里我们将使用另外一个非常轻量级的jQuery插件来实现漂亮的标签处理功能,这里我们将使用以前的超酷留言板系统
为基础来实现一个完整功能的留言发布系统,希望大家喜欢!
主要使用插件
注意:jQuery UI的autocomplete在Firefox下处理中文自动补齐功能有个bug,你需要自己解决,解决方法如下:
找到jQueryUI中的如下代码:
.bind( "blur.autocomplete", function( event ) {
if ( self.options.disabled ) {
return;
}
clearTimeout( self.searching );
// clicks on the menu (or a button to trigger a search) will cause a blur event
self.closing = setTimeout(function() {
self.close( event );
self._change( event );
}, 150 );
});
修改为:
.bind( "blur.autocomplete", function( event ) {
if ( self.options.disabled ) {
return;
}
clearTimeout( self.searching );
// clicks on the menu (or a button to trigger a search) will cause a blur event
self.closing = setTimeout(function() {
self.close( event );
self._change( event );
}, 150 );
}).bind("input.autocomplete", function() {
// 修复在Firefox中不支持中文的BUG
self.search(self.item);
});
如果你直接下载本文演示,已经修改此Bug。
在本文中,我们修改了jQuery tag handler的一些逻辑,缺省使用这个插件,如果你尝试输入重复的标签内容,你会发现无法输入,在我们例子中,如果你尝试输入重复标签,会发现,已存在的标签会闪烁提示你。
HTML代码
html代码非常简单,只需要指定需要生成标签的容器,如下:
<div id="living-effect" class="tag-wrapper">
<ul id="tags"></ul>
</div>
这里我们使用id='tags'来指定标签生成容器。
Javascript代码
$(function(){
$('#tags').tagHandler({
assignedTags: [ 'GBin1'],
availableTags: [ 'HTML', 'CSS', 'Javascript', 'Dojo', 'Mootools', 'jQuery', 'jQuery插件', 'SEO', '素材', '图标' ],
autocomplete: true,
onAdd: function(tag){
var addflag = true,tags = $('#tags').tagHandler("getTags");
jQuery.each(tags, function (i, e) {
if(tag.toUpperCase()===e.toUpperCase()){
$('#tags').find('.tagItem').each(function(){
if($(this).html().toLocaleUpperCase()===tag.toLocaleUpperCase()){
$(this).animate({opacity: 0.55}).delay(20).animate({opacity: 1}).animate({opacity: 0.55}).delay(20).animate({opacity: 1});
}
});
//$('#log').hide(0).html("标签已存在").show().delay(2000).fadeOut();
addflag = false;
}
});
return addflag;
}
});
});
以上代码定义了标签相关属性及其callback方法,这里我们再添加新标签的callback方法里判断是否重复,如果有重复则生成闪烁效果。
我们设定autocomplete为true,则插件会调用jQueryUI的自动补齐autocomplete方法,帮助用户输入标签。
assignTags设定了缺省显示的标签,avaiableTags设置了所有有效的标签。 这个插件包含其其它的选项和callback方法,具体请参考插件的ReadMe。
是不是很简单,希望大家喜欢这个演示。
来源:使用jQuery tag handler开发一个带有标签功能的文章发布系统
分享到:
相关推荐
【jQuery + Ajax + Handler】是Web开发中的一个经典组合,用于构建动态、交互性强的网页应用。这个模板提供了一个基于HTML的权限管理系统,无需依赖微软的特定控件,完全使用前端JavaScript库jQuery和后端处理程序...
标签处理程序必须附加到一个或多个 HTML中的标签。 要添加标签,请单击标签框,输入名称,然后按Enter或逗号。 可以通过点击框内的退格键或单击标签来从标签框中删除标签。 标签列表可以用以下3种方式之一进行...
当一个Activity中有多个Handler时,每个Handler都会有自己的Message队列和Looper。Looper是消息循环器,它负责不断地从Message队列中取出Message并交给对应的Handler进行处理。默认情况下,只有一个Looper与主线程...
,而且这个插件只能用id号给元素绑定触发拖动的属性,如果一个id一个id的绑定事件的话会造成代码冗余 。所以我们要修改一下源文件jquery.easydrag.handler.beta2.js:找到 function(handlerId) 这个函数, 将里面的...
在Android开发中,`Handler`类是一个至关重要的组件,它主要用于在不同的线程间通信,尤其是在处理异步任务和定时操作时。标题“使用Handler实现预约时间功能”指的是利用Handler来实现在特定时间执行预定任务的功能...
在Android开发中,`Handler`是一个至关重要的组件,主要用于解决线程间的通信问题,尤其是在UI线程和其他工作线程之间。本篇文章将深入探讨`Handler`的使用方法,包括其基本概念、工作原理以及如何避免内存泄露和...
jQuery 的另一个特性是链式操作,可以在一个选择器之后连续调用多个方法,如: ```javascript $("#element").css("color", "red").slideUp(500).fadeIn(1000); ``` 七、插件系统(Plugins) jQuery 社区有大量的...
总的来说,这个源码项目提供了一个全面的图片处理解决方案,结合了前端的jQuery和后端的Handler技术,使得开发者能够创建出具有动态图片处理功能的网页应用。这种技术不仅可以应用于在线编辑器、社交媒体平台,也...
在Android系统中,每个线程都有一个Looper,它是消息队列的管理者,负责取出Message并分发给相应的Handler进行处理。 主线程(UI线程)默认已经启用了Looper,因此可以直接创建Handler。创建Handler时通常需要重写`...
Handler的主要功能是发送和处理消息,它与Looper和Message紧密协作,构建了一个消息循环系统。在Android中,主线程(UI线程)默认有一个Looper对象,负责不断检查是否有待处理的消息。当Handler发送一个Message到...
在Android开发中,`TabHost` 是一个非常重要的组件,用于创建带有标签页的应用界面。它允许我们在一个Activity中组织多个Fragment或者Activity,为用户提供不同的功能区域。`TabHost`通常与`TabWidget`(显示标签)...
jQuery是一个强大的JavaScript库,它极大地简化了JavaScript编程,使得网页动态化和DOM操作变得更加简单。jQuery的核心功能包括选择器、DOM操作、事件处理、动画效果以及Ajax交互等。通过使用jQuery,开发者可以避免...
标签库是一个包含一系列标签的资源包,这些标签可以在JSP页面中使用,以执行特定的功能,如分页。`<pager:page>`是分页标签库中的主要标签,用于渲染分页链接。 二、使用步骤 1. 引入依赖:首先,在项目的`WEB-INF/...
在Java Web开发中,自定义标签(Custom Tags)是一种扩展JSP功能的有效方式,它可以将复杂的业务逻辑封装起来,使得视图层代码更加简洁、易读。本篇内容主要介绍了一个简单的分页标签的实现过程,这是一个很好的学习...
在这种情况下,Handler机制可以作为一个有效的工具来实现线程间的通信。本文将深入探讨如何在Fragment和Activity之间使用Handler进行交互。 首先,了解Handler的基本概念。Handler是Android中的一个消息处理类,它...
在Android开发中,`Handler`是一个至关重要的组件,主要用于处理线程间的通信,尤其是主线程(UI线程)与工作线程之间的交互。本篇将详细介绍`Handler`的原理、使用方法及其在实际开发中的应用。 `Handler`是...
《jQuery开发API文档3.2.1》是一个中文版的jQuery参考手册,为开发者提供了全面、详尽的jQuery函数及方法介绍。这个版本是许多开发者在实践中发现非常实用的资源,便于理解和应用jQuery库。 jQuery是一款强大的...
本篇文章将详细介绍`Handler`的基本概念、工作原理以及如何在一个`Activity`中简单使用它来实现动画效果。 `Handler`的核心功能是发送和处理消息。在Android系统中,主线程负责处理用户交互,如显示界面、更新UI等...
Android 中 Handler 的使用方法和总结 Handler 是 Android 中的一种非常重要的组件,它起到了...因此,在 Android 应用程序的开发中,Handler 是一个非常重要的组件,需要充分利用它来提高应用程序的性能和用户体验。
`Looper`是Android消息系统的另一个核心组件,它在一个线程中运行一个无限循环,不断地从消息队列中取出消息并分发给相应的`Handler`进行处理。默认情况下,Android主线程(UI线程)已经有一个`Looper`在运行,而在...