【问题标题】:functionality of onBegin() in SignaturePad / How to record the start of each strokeSignaturePad 中 onBegin() 的功能 / 如何记录每个笔划的开始
【发布时间】:2017-08-17 09:58:37
【问题描述】:

我正在使用 SignaturePad。 (https://github.com/szimek/signature_pad)

根据 API,onBegin() 在笔画开始时被调用,但它似乎只在页面加载时被调用

例子:

var pad = new SignaturePad (canvas, {
  backgroundColor: 'rgb(255,255,255)',
  velocityFilterWeight:0.4,
  onBegin: console.log('hello')
  //onBegin: startWritingTimer()
});

上面的代码在页面加载时记录'hello',而不是在每个笔划的开始。我是否误解了 API?

【问题讨论】:

    标签: javascript signaturepad


    【解决方案1】:

    这就是我在 JQuery 中的做法:

    jQuery(document).ready(function($){
    
        var canvas = document.getElementById("signature");
        var signaturePad = new SignaturePad(canvas);
    
        $('#clear-signature').on('click', function(){
            signaturePad.clear();
        });
    
        $('#submit-signature').on('click', function(){
            submitSignature();
        });
    
        signaturePad.onBegin = function() {
            alert('just began!');
        };
    
    
        function submitSignature(){
            if(!signaturePad.isEmpty()){
                alert('not empty');
            }   
        }
    
    });
    

    【讨论】:

    • 欢迎来到 StackOverflow。人们普遍认为,除了您的代码之外,高质量的答案还将包括一些解释,因为它可以帮助原作者解决问题。当您提出替代解决方案(例如引入 jquery)时,这一点尤其重要 - 您应该解释您做出此选择的原因。
    【解决方案2】:

    我也遇到过这个。经过几次尝试后,您可以使用变量调用它。

    pad.onBegin = function(event) {
      console.log('pad.onBegin has been called.', event);
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 2019-09-29
      相关资源
      最近更新 更多