只需点击一下即可清除完整的签名

时间:2016-11-21 10:32:08

标签: javascript jquery

我在网页上使用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不是很了解。任何人都可以告诉我,我应该如何一次性清除标志?

1 个答案:

答案 0 :(得分:0)

可以以此方式使用。

<button id="clear">Clear</button>

$('#clear').click(function () {
$('#signature').jSignature("reset");
});
相关问题