【问题标题】:Can't call function with button click (javascript)无法通过按钮单击调用函数(javascript)
【发布时间】:2015-02-03 10:23:10
【问题描述】:

我有一个非常奇怪的问题。我有一个按钮,目前使用以下代码打印条形码标签:

<button id="printButton">
          PRINT BARCODE LABEL
      </button>

然后此按钮成功调用:

printButton.onclick = function()
      { CODE }

问题是我希望能够通过按下一个按钮来打印多个条形码标签。因此,我将 javascript 函数更改为:

function print()
      { CODE }

并添加

printButton.onclick = function()
    {
      print();
    }

我的想法是我最终可以从同一个按钮按下调用多个打印函数(print1() print2() 等)。问题是,当我像上面那样重写代码时,什么也没有发生,即使在我看来应该发生与以前完全相同的事情?任何的想法?如果有人认为这可能会有所帮助,我很乐意发布完整的代码。

【问题讨论】:

  • 您不需要发布完整的代码,但您需要发布足够的代码来复制问题。您是否在浏览器的错误控制台中看到错误?
  • 好像都是ok
  • 谢谢你们的回答。问题最终是原始函数在“onload”函数内,我在它之外创建了新函数。

标签: javascript html forms


【解决方案1】:

我愿意:

 $('#printButton').on('click',function (){
   //call print method
 });

【讨论】:

    【解决方案2】:

        var a1 = function (_func) { console.log('print'); if (_func != null) { _func()} }
    
        printButton.onclick = function () {
            a1(a1(a1(a1(null))));
        }
    &lt;button id="printButton"&gt; PRINT BARCODE LABEL&lt;/button&gt;

    【讨论】:

      【解决方案3】:

      function print(){alert('print func');}
      printButton.onclick =  print;
         
      <button id="printButton">
                PRINT BARCODE LABEL
            </button>

      【讨论】:

      • OP 说:我的想法是我最终可以通过按下同一个按钮调用多个打印函数(print1() print2() 等)。
      • 在打印函数中调用它们,你想要10个警报出现吗???function print(){ printfunction1();printfunction2();}
      • 仍然不是问题的原因。在匿名函数或命名函数中调用多个函数没有区别......
      • 我引用 ` 问题是,当我像上面那样重写代码时,什么也没有发生,即使在我看来应该发生与以前完全相同的事情? `,所以您认为 OP 没有问题并投反对票,即使 OP 显然有问题,我的回答已经解决了。
      • omg,你无法回答你的问题,请参阅我对 OPs 代码的评论,我只是编写他的代码并且它正在工作。这意味着没有发现问题。您也重写了他的代码并更改了与问题无关的 1 件事,并认为这是一个答案??
      猜你喜欢
      • 2017-10-01
      • 2015-08-20
      • 2019-10-03
      • 2020-12-22
      • 2012-12-11
      • 2019-02-28
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多