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实现检测指定目录是否存在的方法
Jan 12 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
Jan 24 Javascript
vue-cli3跨域配置的简单方法
Sep 06 Javascript
layui-select动态选中值的例子
Sep 23 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
Jul 22 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中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JavaScript 题型问答有答案参考
2010/02/17 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
Python切片索引用法示例
2018/05/15 Python
详解Python3注释知识点
2019/02/19 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
事假请假条范文
2014/04/11 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
健康状况证明书
2014/11/26 职场文书
公积金接收函格式
2015/01/30 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL