English 中文(简体)
$(function()中的多个jQuery事件{…只有第一个有效
原标题:Multiple jQuery events in $(function () { ... only the first one works
  • 时间:2011-02-09 16:26:26
  •  标签:
  • jquery

我的页面有多个.click()事件,但只有第一个事件按预期执行。

$(function () {
    $("#delete").click(function () {
        $(this).hide();
        $("span.hconf").show();
    })
    $("#div_conf_true").live("click", function () {
        $.post("/u:" + $("span.username").text() + "/delete/"), {
            url_id: $("#div_conf_true").attr("u"),
            uname: $("span.username").text(),
            complete: window.location.reload(true)
        }
    })
    $("#div_conf_false").live("click", function () {
        $("span.hconf").hide();
        $("#delete").show();
    })
})

最初#div_conf_*事件是.click(function(){events,但我读到任何DOM更改都会解除这些处理程序的绑定,所以我尝试了.live,但它仍然不起作用。在这个脚本中,我需要做什么才能通过DOM更改访问所有三个点击事件?

我是jQuery的新手,所以如果这有一个明显的答案,请原谅。


编辑:第二个和第三个.click()事件都不起作用。我已经实现了响应者建议的语法和缩进更正,但仍然没有更改。上面的代码块是我的脚本标记中的所有内容。我需要用别的东西包块吗?这是$document.ready()的问题吗?我是不是用错了.live()?这里的方法选择错了吗?我在Chrome JS控制台中没有错误。

我主要担心的是,据我所知,第三个.click()函数应该简单地颠倒第一个.clic()函数的效果,它按预期运行。我已经在下面粘贴了相关的HTML。

<div id= modify ><a class= modify  id="edit" href= {{ edit_url }} >edit</a> | <a class= modify  id="delete" u="{{ i.id }}" href= # >delete</a><span class= hconf  style="display:none">Are you sure? <a class= confirm  id= del_conf_true  href= # >yes</a> | <a class= confirm  id= del_conf_false  href= # >no</a></span></div>

第2版:我已经更新了第二个.click()函数,但功能仍然没有变化。

$("#div_conf_true").live("click", function ( {
$.post("/u:"+$("span.username").text()+"/delete/", 
        {
            url_id:$("#div_conf_true").attr("u"), 
            uname:$("span.username").text()
        },
        function() {window.location.reload(true);}
    );
    })
最佳回答

在重新阅读GoogleJavascript API文档并意识到我没有在脚本中实现Google.setOnLoadCallback()之后,我解决了这个问题。虽然代码存在一些问题,但代码并没有引起我在这里想要解决的更大问题。

问题回答
$(function () {
    $("#delete").click(function () {
        $(this).hide();
        $("span.hconf").show();
    })
    $("#div_conf_true").live("click", function () {
        $.post("/u:" + $("span.username").text() + "/delete/"), { // <-. remove ) here
            url_id: $("#div_conf_true").attr("u"),                //   |
            uname: $("span.username").text(),                     //   |
            complete: window.location.reload(true)                //   |
        }                                                         // <-  and place here
    })
    $("#div_conf_false").live("click", function () {
        $("span.hconf").hide();
        $("#delete").show();
    })
})

这一行是您的问题,请删除/delete/之后的,否则您将关闭.post().然后将其放在突出显示行的大括号之后。





相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签