我在网页上使用jSignature。此jquery插件一次删除一个笔划。我想要"撤消最后一次击球的行为"只需点击一下即可清除完整的签名。
我改变了"撤消最后一击的风格"到关闭按钮的样式。所以在我的jSignature.UndoButton.js
中,"撤消最后一笔"的样式代码按钮如下所示:
var undoButtonSytle = 'position:relative;display:none;float: right;margin-right: 5px;outline:0;cursor: pointer;color: rgb(218, 216, 217);font-size: 1.5em;'
, $undoButton = $('<i class="fa fa-window-close" style="'+undoButtonSytle+'" aria-hidden="true"></i>').append('<link rel="stylesheet" href="../../css/font-awesome.css" type="text/css" />')
.appendTo(this.$controlbarLower)
从jSignature.UndoButton.js
撤消功能(此文件中有更多代码)
function attachHandlers(buttonRenderer, apinamespace, extensionName) {
var $undoButton = buttonRenderer.call(this)
;(function(jSignatureInstance, $undoButton, apinamespace) {
jSignatureInstance.events.subscribe(
apinamespace + '.change'
, function(){
if (jSignatureInstance.dataEngine.data.length) {
$undoButton.show()
} else {
$undoButton.hide()
}
}
)
})( this, $undoButton, apinamespace )
;(function(jSignatureInstance, $undoButton, apinamespace) {
var eventName = apinamespace + '.undo'
$undoButton.bind('click', function(){
jSignatureInstance.events.publish(eventName)
})
// This one creates new "undo" event listener to jSignature instance
// It handles the actual undo-ing.
jSignatureInstance.events.subscribe(
eventName
, function(){
var data = jSignatureInstance.dataEngine.data
if (data.length) {
data.pop()
jSignatureInstance.resetCanvas(data)
}
}
)
})(
this
, $undoButton
, this.events.topics.hasOwnProperty( apinamespace + '.undo' ) ?
// oops, seems some other plugin or code has already claimed "jSignature.undo" event
// we will use this extension's name for event name prefix
extensionName :
// Great! we will use 'jSignature' for event name prefix.
apinamespace
)
}
我对Jquery不是很了解。任何人都可以告诉我,我应该如何一次性清除标志?
答案 0 :(得分:0)
可以以此方式使用。
<button id="clear">Clear</button>
$('#clear').click(function () {
$('#signature').jSignature("reset");
});