Javascript 再次单击后发出警报

Javascript 再次单击后发出警报,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下代码: <a href="#" id="@item.Id" name="vote" ><img src="/Content/images/021.png" style="float:left" alt="" /></a> 它调用一个ajax调用。第一次打电话。如果回报是真的,在第二次通话中,我想做一个警告框,告诉你只能投票一次 <script type="text/javascript"> $(function () {

我有以下代码:

<a href="#" id="@item.Id" name="vote" ><img src="/Content/images/021.png" style="float:left" alt="" /></a>

它调用一个ajax调用。第一次打电话。如果回报是真的,在第二次通话中,我想做一个警告框,告诉你只能投票一次

<script type="text/javascript">
    $(function () {
        $("div.slidera_button a").click(function (e) {
            var item = $(this);
            e.preventDefault();
            $.get('@Url.Action("VoteAjax","Home")', { id: item.attr("id") }, function (response) {
                if (response.vote == "false") {
                    alert("foo.");
                } else {
                    //something
                }
            });
        })
    });
</script>

$(函数(){
$(“div.slidera_按钮a”)。单击(功能(e){
var项目=$(此项);
e、 预防默认值();
$.get('@Url.Action(“VoteAjax”,“Home”),{id:item.attr(“id”)},函数(响应){
如果(response.vote==“false”){
警惕(“foo”);
}否则{
//某物
}
});
})
});
这是可行的,如果我点击按钮,然后刷新页面,但如果我尝试点击两次,它不起作用

我希望用户能够点击多次,只有在第一次点击后,才会弹出一个窗口

为什么这不起作用

我怎样才能修好它

编辑:在FF中工作。。在IE中不起作用。

使用此脚本

<script type="text/javascript">
    $(function () {
        $("div.slidera_button a").live('click',function (e) {
            var item = $(this);
            e.preventDefault();
            $.get('@Url.Action("VoteAjax","Home")', { id: item.attr("id") }, function (response) {
                if (response.vote == "false") {
                    alert("foo.");
                } else {
                    //something
                }
            });
        })
    });
</script>

$(函数(){
$(“div.slidera_按钮a”).live('点击',功能(e){
var项目=$(此项);
e、 预防默认值();
$.get('@Url.Action(“VoteAjax”,“Home”),{id:item.attr(“id”)},函数(响应){
如果(response.vote==“false”){
警惕(“foo”);
}否则{
//某物
}
});
})
});

或JQuery Delegate方法来触发此单击

类似这样的操作如何:

<style type="text/css">
a.disabled {
    opacity: 0.5;
    /* whatever other styles you want */
}   
</style>

<script type="text/javascript">
    $(function () {
        $.ajaxSetup({ cache: false });
        $("div.slidera_button a").click(function (e) {
            var item = $(this);
            if (item.hasClass("disabled")) {
                // alert when they vote
                // you'll need to handle some way to add this 
                // server side to account for page reload, yes?
                alert('You may only vote once');
            }
            $.get('@Url.Action("VoteAjax", "Home")'
                , { id: item.attr("id") }
                , function (response) {
                    // if this returns successfully, you voted.
                    item.addClass('disabled');
                }
            });
            return false;
        })
    });
</script>

a、 残废{
不透明度:0.5;
/*你想要什么样的*/
}   
$(函数(){
$.ajaxSetup({cache:false});
$(“div.slidera_按钮a”)。单击(功能(e){
var项目=$(此项);
if(项hasClass(“禁用”)){
//他们投票时要保持警惕
//你需要处理一些方法来添加这个
//服务器端负责页面重新加载,是吗?
警惕(“您只能投票一次”);
}
$.get('@Url.Action(“VoteAjax”,“Home”)'
,{id:item.attr(“id”)}
,功能(回应){
//如果返回成功,则表示您已投票。
item.addClass(“已禁用”);
}
});
返回false;
})
});

发生的事情是,在第二次单击时,它没有发出ajax调用,但仍然有第一次单击时得到的相同响应。$.ajaxSetup({cache:false});这就成功了。如果你加上它作为答案,我会接受的。谢谢你的努力。现在发生的是,在第二次单击时,它没有发出ajax调用,但仍然有第一次单击时得到的相同响应。尝试在ajax请求后编写e.preventDefault()函数*不确定它是否能工作