2016-02-12 113 views
-2

jQuery点击触发两次(页面加载和点击一次),但应点击列表项目时触发事件。点击事件jquery-error

HTML:

<ul> 
    <li id="toolbar-save"> 
     <i class="fa fa-fw fa-save"></i> 
     <span>Save</span> 
    </li> 
</ul> 

的jQuery:

<script src="~/lib/jquery/dist/jquery.min.js"></script> 
<script type="text/javascript"> 
    $("#toolbar-save").click(function() { 
     CallValidateMethod(); 
    }); 

    function CallValidateMethod(Model) { 
     $.ajax({ 
      url: '@Url.Action("Validate", "Customer")', 
      type: 'GET', 
      dataType: 'JSON', 
      cache: false, 
      data: { Model: Model }, 
     }).done(function() { 
      alert('Added'); 
    }); 
}   

+0

你不应该张贴每一件事的称号。 – Satpal

+2

'$(“#toolbar - save li”) - 那个选择器看起来不正确。 – tymeJV

+0

如果选择器不正确,它甚至不应该触发? –

回答

0

你的选择是错误的。

这工作:

$("li#toolbar-save").click(function() { 
 
    CallValidateMethod(); 
 
}); 
 
function CallValidateMethod(Model) { 
 
    alert("yay"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li id="toolbar-save"> 
 
     <i class="fa fa-fw fa-save"></i> 
 
     <span>Save</span> 
 
    </li> 
 
</ul>

0
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script> 

    $(document).ready(function() { 

     $("#toolbar-save").click(function() { 
      CallValidateMethod(); 
     }); 

     function CallValidateMethod() 
     { 

      alert('function called') 
     } 
    }); 
</script> 
</head> 

<body> 
<ul> 
    <li id="toolbar-save"> 
     <i class="fa fa-fw fa-save"></i> 
     <span>Save</span> 
    </li> 
</ul> 
</body> 

</html>