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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
javascript 数组的方法集合
Jun 05 Javascript
js继承 Base类的源码解析
Dec 30 Javascript
JavaScript 用Node.js写Shell脚本[译]
Sep 20 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 Javascript
VueJS全面解析
Nov 10 Javascript
vue2.0全局组件之pdf详解
Jun 26 Javascript
angular $watch 一个变量的变化(实例讲解)
Aug 02 Javascript
基于Vue2x的图片预览插件的示例代码
May 14 Javascript
vue路由切换之淡入淡出的简单实现
Oct 31 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导入Excel到MySQL的方法
2011/04/23 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
vue项目中axios使用详解
2018/02/07 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
Python常用库推荐
2016/12/04 Python
python 读取文件并替换字段的实例
2018/07/12 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
Python如何实现爬取B站视频
2020/05/20 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
董事长秘书岗位职责
2013/11/29 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
总经理工作职责范文
2014/03/14 职场文书
办公设备采购方案
2014/03/16 职场文书
股权收购意向书
2014/04/01 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
2015年信访工作总结
2015/04/07 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书