为什么()不工作?

时间:2013-02-25 13:05:01

标签: jquery html

我正在尝试简单地使用.on('click')事件,因为我正在我的页面上动态创建元素。

测试事件并且它不会触发:

function showSub(){
    alert('wefef');
}

$('.common-main-row').on('click', showSub);

实际上,在这个例子中,.common-main-row总是在页面上而不是动态创建的

4 个答案:

答案 0 :(得分:0)

你使用的是什么版本的jQuery,on()仅在1.7之后的jQuery中可用,之前它是live()。试试这个。

http://jsfiddle.net/Upvfx/1/

function showSub(){
    alert('wefef');
}

$('.common-main-row').live('click', showSub);

编辑:

我在jsfiddle示例中使用了jQuery 1.8.3。从1.7开始,on()包含在jQuery中。 http://api.jquery.com/on/

答案 1 :(得分:0)

确保您拥有最新的jQuery版本,您的代码包含在

 $(document).ready(function(){ /* your code here */ });

将其放在标题中。

 <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

答案 2 :(得分:0)

http://jsfiddle.net/sEfuu/

$(document).ready(function() {
    $('.common-main-row').click( function(e){
        //do stuff
        alert('wefef');
    });
});

答案 3 :(得分:0)

您可以使用.bind()

<强> DEMO

function showSub(){
    alert('wefef');
}

$('.common-main-row').bind('click', showSub);