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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
js中top的作用深入剖析
Mar 04 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
JS+CSS实现电子商务网站导航模板效果代码
Sep 10 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 Javascript
prettier自动格式化去换行的实现代码
Aug 25 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
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
php基础知识:类与对象(5) static
2006/12/13 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
(function($){...})(jQuery)的意思
2010/07/22 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
Python获取邮件地址的方法
2015/07/10 Python
Python计算字符宽度的方法
2016/06/14 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
python自动生成model文件过程详解
2019/11/02 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
python 写一个水果忍者游戏
2021/01/13 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
公司联欢晚会主持词
2014/03/22 职场文书
纪检监察建议书
2014/05/19 职场文书
交通违章检讨书
2014/09/21 职场文书
大四学生个人总结
2015/02/15 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python