使用 Kendo Grid - onclick 需要额外的点击才能调用 jquery 方法

我有 7 列(使用 html Kendo Grid),ID 列是每行的 PK 及其可见(false)。所以..当你点击任何“名称”数据时,它会抓取你选择的行的PK(不可见的ID),并且会弹出一个模式屏幕,以便你可以看到更详细的信息。


目前,它按预期工作,但是,当页面第一次加载时,我必须双击它才能显示模式屏幕。一旦模式屏幕显示,之后,onclick 事件按预期工作。


但我刚刚注意到,当我按 F12 键查看日志时,每次 onclick 事件调用时,单击次数都会增加(例如... x2 x3 等)。


当我调试时,它在我的代码中达到了调试点,但立即消失了,所以我很难调查。


谢谢你的帮助。


------具有 onclick 事件的列------


Columns(columns => {columns.Bound(o => o.SiteID).Visible(false); 

columns.Bound(o => o.Name).Title("Your Name").HeaderHtmlAttributes(new {title = "Name(s)"}).ClientTemplate("<a class='nameLink' onclick=\"EditSite(#:SiteID#);\" style='cursor:pointer;' SiteID=\'#=SiteID#\'>#=Name#</a>");

----Jquery onclick 事件 ------


function EditSite(SiteID) {

debugger;

$('.nameLink').on('click', function () {


    $('#popUpEdit').dialog({

        width: 1000,

        height: 920,

        show: 'fadein',

        hide: 'fadeout',

        buttons: { "Close": function () { $(this).dialog("close"); } },

        close: function () {

            $("#popUpEdit input").val("");

            $('#popUpEdit input').prop('checked', false);

            $('#statusMessage').html("");

        }

    });

    NameDetails(SiteID);

});

};


桃花长相依
浏览 183回答 1
1回答

白衣染霜花

每次调用 EditSite 函数时,您都在绑定一个 onClick 函数。尝试使用 .off() 解除任何现有处理程序的绑定。$('.nameLink').off().on('click', function () { }还可以尝试包装您的函数,以便您可以传递您的 SiteID 参数。(不确定这个的正确语法)onclick="EditSite(#:SiteID#)"包装函数function EditSite(SiteID) {&nbsp; return function() {&nbsp; &nbsp; &nbsp; $('#popUpEdit').dialog({&nbsp; &nbsp; &nbsp; &nbsp; width: 1000,&nbsp; &nbsp; &nbsp; &nbsp; height: 920,&nbsp; &nbsp; &nbsp; &nbsp; show: 'fadein',&nbsp; &nbsp; &nbsp; &nbsp; hide: 'fadeout',&nbsp; &nbsp; &nbsp; &nbsp; buttons: { "Close": function () { $(this).dialog("close"); } },&nbsp; &nbsp; &nbsp; &nbsp; close: function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $("#popUpEdit input").val("");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('#popUpEdit input').prop('checked', false);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('#statusMessage').html("");&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; NameDetails(SiteID);&nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript