-1

由于 .live() 已被弃用,我使用 .on() 而不是 .live(),但它不能正常工作,如果我错了,请多多包涵,提前谢谢。

下面是一个简单的测试 html,我的预期行为是事件仅在我单击按钮时触发,但事实证明,无论我点击哪里,事件都会触发。

<html lang="en">
<head>
  <title>demo</title>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<div id="wrapper">
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <button id="btn">Click</button>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
</div>
<script>

$(document).on("click", $("#btn"), function(){ 

    document.title += "fire!";

});

</script>

</body>
</html>
4

2 回答 2

4

函数的第二个参数on()应该selector不是jQuery object.

$(document).on("click", "#btn", function(){ 
    document.title += "fire!";
});
于 2013-08-15T10:28:01.790 回答
0

小提琴

使用它作为你的脚本

$(function(){
   $('#btn').on('click', function(){
      alert('You clicked a button.');
   });
});
于 2013-08-15T10:29:58.963 回答