微博输入框插件

2024-08-21 06:08
文章标签 微博 插件 输入框

本文主要是介绍微博输入框插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*** 微博计数输入框插件* 属性说明:* counter 计数区的容器id* max 最大字符数,默认值为150* textClass 指定文字的样式* normalClass 指定未超过最大字数时数字样式* errorClass 指定已超过最大字数时数字样式* 2012/3/8 by 崔玥*/
(function($){$.fn.extend({weiboInputBox: function(options) {    //插件名字var defaults={counter:"msg",    //计数容器idmax:150,textClass:"textClass",normalClass:"normalClass",errorClass:"errorClass"};var options=$.extend(defaults,options);return this.each(function() {var o=options;    //得到配置参数var obj=$(this);    //得到当前对象$("#"+o.counter).addClass(o.textClass).html("您可以输入<span class='"+o.normalClass+"'>"+o.max+"</span>字");obj.bind("keypress",function(event){var l=obj.val().length+1;var maxlength=obj.attr("maxlength");if(l>maxlength){window.event.keyCode=0;}});obj.bind("keyup change",function(event){var val=obj.val();var vLength=val.length;//var addLen=(val.match(/[^\x00-\xff]|[\u4E00-\u9FA5]/g)||'').length;    //2个英文字符计为1个var addLen=val.length;    //1个英文字符计为1个var num=o.max-Math.ceil((vLength+addLen)/2);if(num>=0){$("#"+o.counter).addClass(o.textClass).html("您可以输入<span class='"+o.normalClass+"'>"+num+"</span>字");}else{$("#"+o.counter).addClass(o.textClass).html("已超过<span class='"+o.errorClass+"'>"+Math.abs(num)+"</span>字");}});});}});
})(jQuery);

自己写了一个类似新浪微博的计字数的输入框,由于IE浏览器的<textarea>标记不支持maxlength属性,所以在插件中使用了press键盘事件,在事件中检查字数,如果超过上限则强制将keyCode置为0,以达到maxlength属性的目的。但是这种方法对复制、粘贴是无能为力的,所以对这种情况还是使用了截取字符串的方式,感觉还是有些缺憾,望大家提供些思路。

调用时,要指定计数区域的一个容器id,比如是一个<div>标记,这样才可以把计数的信息显示出来。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><script src="jquery.js"></script><script src="weibotextbox.js"></script><style type="text/css">.normal{font-size:14px;color:#000000;}.text{font-size:18px;color:#0000FF;font-family:Garamond;}.error{font-size:18px;color:#FF0000;font-family:Garamond;}</style></HEAD><BODY>
<div id="counter"></div>
<textarea class="textarea" id="summary" maxlength="20" row="3" col="20">
</textarea><script type="text/javascript">$(document).ready(function(){$("#summary").weiboInputBox({counter:"counter",max:20,textClass:"normal",normalClass:"text",errorClass:"error"});});
</script>
</BODY>
</HTML>


这篇关于微博输入框插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092331

相关文章

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl