2016-02-12 94 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>