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 相关文章推荐
jQuery 浮动广告实现代码
Dec 25 Javascript
JS弹出可拖拽可关闭的div层完整实例
Feb 13 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
Node.js之网络通讯模块实现浅析
Apr 01 Javascript
node跨域请求方法小结
Aug 25 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
js实现图片3D轮播效果
Sep 21 Javascript
vue-router的钩子函数用法实例分析
Oct 26 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
Vite和Vue CLI的优劣
Jan 30 Vue.js
JavaScript 对象创建的3种方法
Nov 17 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 读取shell管道传输过来的内容
2010/03/01 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php随机输出名人名言的代码
2012/10/07 PHP
PHP curl使用实例
2015/07/02 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
使用Apache的rewrite
2021/03/09 Servers
prototype Element学习笔记(篇一)
2008/10/26 Javascript
jQuery 动画基础教程
2008/12/25 Javascript
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
Django自定义过滤器定义与用法示例
2018/03/22 Python
python里dict变成list实例方法
2019/06/26 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
python自动识别文本编码格式代码
2019/12/26 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
六五普法规划实施方案
2014/03/21 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
关于开学的感想
2015/08/10 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书