1

div要素をjavascriptによってrunmodeで生成します。最初にクリックして確認メッセージを表示し、次にクリックしてクリックイベントを削除しますが、終了またはバインド解除が機能しません。

$('div').live('click',function(e) {

    $(this).toggle(function () {
            $(this).html("I'm sure!");
            return false;
        },
        function (e) {

            $(this).html("Deleting...");
            $(this).die('click').die('click');

        }).trigger('click');
});
4

2 に答える 2

1

どのようにそのことについて?

$('div').on('click',function(e) {
    e.preventDefault();
    var el = $(this);

    if (el.data("confirm")) {
        el.html("Deleting").off("click");
    } else {
        el.html("I'm sure!").data("confirm", true);
    }
});​

編集し ます。例はここにあります:http://jsfiddle.net/93nPA/

編集2. スクリプトで生成された要素にクリックイベントを自動的に追加する場合は、生成された要素にクラスを追加し(たとえば)、 JavaScriptの最上部でmybuttonこのコードを1回$("body").on("click", "div.mybutton", function(e) { ... });使用します。

于 2012-04-27T23:17:58.563 に答える
0

このような別の関数でハンドラーコールバックを作成することを検討してください

var Div_Click = function(e) {
    // code for this handler
};

バインドとバインド解除が簡単です

$("div").bind("click", Div_Click); // or "live" or "on"
$("div").unbind("click", Div_Click);
于 2012-04-27T23:20:10.160 に答える