【问题标题】:Calling a method with input instead of button使用输入而不是按钮调用方法
【发布时间】:2014-10-15 15:04:39
【问题描述】:

你好,JS中有这个方法:

这是我目前使用的按钮。

 $('#balpha').click(function(e) {
    e.preventDefault();
    if (alphasw < 1) { alphasw = 1;} 
    else { alphasw = 0;}
    $('.alpha').each(function(){
      /* element specific data object*/
      var data= $(this).data('maphilight') ;
        if (alphasw < 1) {
            data.alwaysOn = true;}
        else{
            data.alwaysOn = false;}
        $(this).trigger('alwaysOn.maphilight')
       });
      });

出于某种原因,我必须使用输入 type="image" 进行相同的调用,所以我添加了 onClick="alphabutton();"在输入属性上并在方法中进行了下一步更改。

function alphabutton(e) {
    e.preventDefault();
    if (alphasw < 1) { alphasw = 1;} 
    else { alphasw = 0;}
    $('.alpha').each(function(){
      /* element specific data object*/
      var data= $(this).data('maphilight') ;
        if (alphasw < 1) {
            data.alwaysOn = true;}
        else{
            data.alwaysOn = false;}
        $(this).trigger('alwaysOn.maphilight')
       });
    }

我看不出有什么问题,有什么建议吗?

我找到了解决问题的方法,可能我试图让事情变得更难。

<input type="image" src="img/Buttons/alpha.png" id="balpha"/>

我只是在输入标签中添加了id,所以我不必修改第一种方法。

【问题讨论】:

  • 你错过了这里的事件参数:onClick="alphabutton();"

标签: javascript methods


【解决方案1】:

一个选项可以是使用 jQuery multiple selector

$('#balpha, input[type=image]').click(function () {
    // Stuff here
});

demo

【讨论】:

    【解决方案2】:

    只需像以前一样将处理程序与 jquery .click.on 连接,然后您就可以访问事件参数。

    另一种选择是在元素 onclick 处理程序的末尾返回 false。 (只是原生 javascript)

    【讨论】:

      【解决方案3】:

      <input  type="image" onClick="alphabutton();"  />
      

      你在下面的行中遇到错误

          function alphabutton(e) {
             e.preventDefault();//error on this line
          }
      

      根据this answer 您的代码转到:

       <input  type="image" onClick="alphabutton(event);"  />
      

      DEMO

      【讨论】:

        猜你喜欢
        • 2018-12-19
        • 2014-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-21
        • 1970-01-01
        • 2017-11-23
        • 2018-05-24
        相关资源
        最近更新 更多