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 css在IE和Firefox中区别分析
Feb 18 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Dec 15 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
JavaScript常见事件处理程序实例总结
Jan 05 Javascript
如何阻止小程序遮罩层下方图层滚动
Sep 05 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
jQuery实现带进度条的轮播图
Sep 13 jQuery
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
我的论坛源代码(六)
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
vue实现简单瀑布流布局
2020/05/28 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
python列表操作实例
2015/01/14 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python3跳出一个循环的实例操作
2020/08/18 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
教师理论学习心得体会
2016/01/21 职场文书
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android