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 复制或插入Html的实现方法小结
May 19 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
jquery.cookie.js使用指南
Jan 05 Javascript
JavaScript获取文本框内选中文本的方法
Feb 20 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
详解Angular系列之变化检测(Change Detection)
Feb 26 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
详解ES6 Symbol 的用途
Oct 14 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 04 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使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
php检测文件编码的方法示例
2014/04/25 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
mailto的使用技巧分享
2012/12/21 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
台湾良兴购物网:EcLife
2019/12/01 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
安全协议书范本
2014/04/21 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
培训感想范文
2015/08/07 职场文书
Python基础之条件语句详解
2021/06/16 Python
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
golang中的struct操作
2021/11/11 Golang