e.preventDefault无法处理live()事件

时间:2012-07-31 18:42:11

标签: javascript jquery html

关于这个脚本的一切工作都很好,但除了e.PreventDefault();我已经尝试了所有东西,但似乎没有任何效果。我不能在这个脚本中使用.click()处理程序,因为它是动态调用的,否则我会尝试这样做。

JS

<script>
$('#vote_up').live('click', function(e) {
    e.preventDefault();
    $.post("votes.php", {
        vote: "1",
        item_id: "$item_id",
        type: "$type"
    }, function(data) {
        $('#vote_count').empty().append(data);
    });
});
$('#vote_down').live('click', function(e) {
    e.preventDefault();
    $.post("votes.php", {
        vote: "-1",
        item_id: "$item_id",
        type: "$type"
    }, function(data) {
        $('#vote_count').empty().append(data);
    });
});
    </script>

HTML

<div class="vote_box">
    <a href="#" id="vote_up">▲</a>
    <span id="vote_count">$count</span>
    <a href="#" id="vote_down">▼</a>
</div>

1 个答案:

答案 0 :(得分:0)

您可以返回false,这也可以防止您的活动被解雇时发生的其他一些事件。

$('#vote_up').live('click', function(e) {

$.post("votes.php", {
    vote: "1",
    item_id: "$item_id",
    type: "$type"
}, function(data) {
    $('#vote_count').empty().append(data);
});

return false;

});