1

この質問は、これら 3 つの質問の継続的な学習/発見です。私にとってこの問題はここから始まりました:

最初の投稿

セカンドポスト

この投稿は、イベント ハンドラーを動的にアタッチすることに関する @StephenMuecke の投稿に関するものです。これは私にとって初めてだったので、読んでみる必要がありましたが、今ではそれが理にかなっていることがわかりました.

ドキュメントと多数のSO投稿を読んだ後でも、クリックイベントハンドラーを起動できないようです??

今回は別のアプローチを取ることにしました。問題を示すjsfiddleを作成しました。http://jsfiddle.net/ramjet/93nqs040/17/

ただし、フレームワーク内で動作させるために、jsfiddle を現実から多少変更する必要がありました。以下が実際のコードです。


モーダルを起動する親ウィンドウ スクリプト...バインドされたアラートが起動します。

<script>

$(document).ready(function ()
{

    $("#new").click(function (e)
    {
        e.preventDefault();
        var ischanging = false;
        var financierid = 0;

        var detailsWindow = $("#window").data("kendoWindow");

        if (!detailsWindow)
        {
            // create a new window, if there is none on the page
            detailsWindow = $("#window")
                // set its content to 'loading...' until the partial is loaded
                .html("Loading...")
                .kendoWindow(
                    {
                        modal: true,
                        width: "800px",
                        height: "400px",
                        title: "@T("...")",
                        actions: ["Close"],
                        content:
                        {
                            url: "@Html.Raw(Url.Action("ActionName", "Controller"))",
                            data: { financierId: financierid, isChanging: ischanging }
                        }
                    })
                .data("kendoWindow").bind('refresh', function (e)
                {
                    alert('Bound');
                    $('document').on("click", "#save", function () { alert("i work");});
                }).center();
        }

        detailsWindow.open();


    });
</script>

モーダルの完全な HTML は必要ないと思っていましたが、必要な場合は更新します。これは、動的にバインドしようとしている要素です。

<input type="button" id="save" style="margin-right:10px;" value="Save Record" />
4

1 に答える 1

3

document引用符は必要ありません:

$(document).on("click", "#save", function () { alert("i work");});

"document"document実際の ではなく の要素を検索しますdocument

$("document").length; //0
$(document).length; //1
于 2014-10-22T15:19:48.637 に答える