html5+canvas实现支持触屏的签名插件教程


Posted in Javascript onMay 08, 2017

前言

大家在日常开发中使用该jQuery插件来制作在线签名,用户绘制的东西以图片的形式保存下来,非常方便实用。下面将实现支持的方法分享给大家,供大家参考学习,下面来一起看看详细的介绍吧。

方法如下:

使用该签名插件要引入jQuery和jq-signature.js文件。

<script src="jquery/1.11.0/jquery.min.js"></script>
<script src="jq-signature.js"></script>

html5+canvas实现支持触屏的签名插件教程

HTML结构

<!-- 创建一个签名区域,使用HTML5的data-option来传递一些参数 -->
<div class="js-signature" 
 data-width="600" 
 data-height="200" 
 data-border="1px solid #1ABC9C" 
 data-background="#16A085" 
 data-line-color="#fff" 
 data-auto-fit="true">
</div>
 
<!-- 创建两个操作按钮,分别用于清空画板和保存签名 -->
<button id="clearBtn" onclick="clearCanvas();">Clear Canvas</button>
<button id="saveBtn" onclick="saveSignature();" disabled>Save Signature</button>
 
<!-- 可以使用一个空的<div>来显示保存的签名图片 -->
<div id="signature"></div>

初始化插件

//页面加载完毕之后使用下面的方法来初始化该签名插件
$(document).on('ready', function() {
 $('.js-signature').jqSignature();
});
 
function clearCanvas() {
 $('#signature').html('<p><em>Your signature will appear here when you click "Save Signature"</em></p>');
 $('.js-signature').jqSignature('clearCanvas');
 $('#saveBtn').attr('disabled', true);
}
 
function saveSignature() {
 $('#signature').empty();
 var dataUrl = $('.js-signature').jqSignature('getDataURL');
 var img = $('<img>').attr('src', dataUrl);
 $('#signature').append($('<p>').text("Here's your signature:"));
 $('#signature').append(img);
}
 
$('.js-signature').on('jq.signature.changed', function() {
 $('#saveBtn').attr('disabled', false);
});

配置参数

下面是该签名插件的一些可用参数,这些参数可以同时在data-attributes上使用:

参数 描述 Data Attribute 示例
Width 签名canvas的宽度,单位像素,默认值300 data-width="600" $().jqSignature({width: 600});
Height 签名canvas的高度,单位像素,默认值100 data-height="200" $().jqSignature({height: 200});
Border 签名canvas的边框CSS样式。默认为'1px solid #AAAAAA' data-border="1px solid red" $().jqSignature({border: '1px solid red'});
Background 签名canvas的背景颜色,默认值为'#FFFFFF' data-background="#EEEEEE" $().jqSignature({background: '#EEEEEE'});
Line Color 签名的颜色。默认值为#222222' data-line-color="#ABCDEF" $().jqSignature({lineColor: '#ABCDEF'});
Line Width 签名的线宽,单位像素,默认值为1 data-line-width="2" $().jqSignature({lineWidth: 2});
Auto Fit 使canvas占满父元素的宽度,默认值false data-auto-fit="true" $().jqSignature({autoFit: true});

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
jquery toolbar与网页浮动工具条具体实现代码
Jan 12 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
JavaScript类型系统之正则表达式
Jan 05 Javascript
学习Angularjs分页指令
Jul 01 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
JS实现图片点击后出现模态框效果
May 03 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
微信小程序基于本地缓存实现点赞功能的方法
Dec 18 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
JQuery实现图片轮播效果
May 08 #jQuery
jQuery中的deferred对象和extend方法详解
May 08 #jQuery
vue 2.0路由之路由嵌套示例详解
May 08 #Javascript
node.js中EJS 模板快速入门教程
May 08 #Javascript
详解用node-images 打造简易图片服务器
May 08 #Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 #Javascript
angular实现IM聊天图片发送实例
May 08 #Javascript
You might like
解析PHP无限级分类方法及代码
2013/06/21 PHP
php经典算法集锦
2015/11/14 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
Web开发之JavaScript
2012/03/29 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
loading动画特效小结
2017/01/22 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python函数参数类型*、**的区别
2015/04/11 Python
Python实现配置文件备份的方法
2015/07/30 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
Python并行分布式框架Celery详解
2018/10/15 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
1亿有多大教学反思
2014/05/01 职场文书
企业理念标语
2014/06/09 职场文书
大学生学期个人总结
2015/02/12 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技