使用输入而不是按钮调用方法

时间:2014-10-15 15:04:39

标签: javascript methods

你好在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')
       });
      });

出于某种原因,我必须使用输入类型=“图像”进行相同的调用,所以我添加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,所以我不必修改第一种方法。

3 个答案:

答案 0 :(得分:1)

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

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

请参阅demo

答案 1 :(得分:0)

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

你的错误低于行

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

根据this answer 你的代码转到:

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

DEMO

答案 2 :(得分:0)

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

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