2016-04-09 69 views
0

我知道这是一个非常简单的问题,但我不明白为什么它不起作用。点击div会导致警报,但是这两个提交都没有。我在做什么是错的?获取javascript点击上班

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $(".submit").click(function(){ 
     alert("Test 1 was clicked."); 
    }); 

    $(".submit").on('click', function(){ 
     alert("Test 2 was clicked."); 
    }); 

    $("#test").click(function(){ 
     alert("Test 3 was clicked."); 
    }); 
}); 
</script> 
</head> 
<body> 

<input type='submit' value='Click'> 
<div id='test'>Click</div> 

</body> 
</html> 
+2

你没有带班的元素 –

+0

在页面上'.submit'有与类'submit'没有元素。你可以使用'$(“[type ='submit']”)' –

+0

'$(“。submit”)'选择提交*类*的元素,而不是类型或名称。例如:'' – j08691

回答

3

为什么你的代码不工作?

没有类.submit的元素。所以click将无法​​正常工作。

使用适当的选择像$("[type='submit']")或类submit添加到元件。

工作演示

$("[type='submit']").click(function() { 
 
    alert("Test 1 was clicked."); 
 
}); 
 

 
$("[type='submit']").on('click', function() { 
 
    alert("Test 2 was clicked."); 
 
}); 
 

 
$("#test").click(function() { 
 
    alert("Test 3 was clicked."); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='submit' value='Click'> 
 
<div id='test'>Click</div>

+1

非常好 - 非常感谢。我一直在看这么多答案,都只是提到.submit。 – RGriffiths

+0

@R Griffiths总是乐于帮助:) –

+0

有趣的是,它只是在我的网站上运行的Click版本。如果我使用on('click'....它永远不会触发,我想我理解On的目的,但是页面上有很多提交按钮会导致使用该方法的问题? – RGriffiths