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 相关文章推荐
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
Oct 29 Javascript
js取消单选按钮选中示例代码
Nov 14 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
Apr 06 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
node.js入门学习之url模块
Feb 25 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
js中如何完美的解析数据
Mar 18 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 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 用数组降低程序的时间复杂度
2009/12/04 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
php数组去重复数据示例
2014/02/25 PHP
php伪静态之APACHE篇
2014/06/02 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
JavaScript中的Window窗口对象
2008/01/16 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
python del()函数用法
2013/03/24 Python
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
python实现学生通讯录管理系统
2021/02/25 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
智能钱包:Ekster
2019/11/21 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
公司活动邀请函
2014/01/24 职场文书
大学生社团活动总结
2014/04/26 职场文书
军训口号
2014/06/13 职场文书
2014年话务员工作总结
2014/11/19 职场文书
中学语文教学反思
2016/02/16 职场文书