【问题标题】:RadTreeView can't be found at in OnClientNodeClicked event handler在 OnClientNodeClicked 事件处理程序中找不到 RadTreeView
【发布时间】:2011-10-26 13:56:21
【问题描述】:

我正在使用 Telerik RadTreeView,并为其OnClientNodeClicked 属性提供了一个 JavaScript 函数:

<telerik:RadTreeView 
    ID="pagesTree" 
    runat="server" 
    OnClientNodeClicked='onPageSelected' 
    ClientIDMode='static'>
</telerik:RadTreeView>

$telerik.$(document).ready(function () {
    onPageSelected(); // To run the onPageSelected function on DOM ready
}

function onPageSelected(e){
   var pagesTree = $find('pagesTree');
   // pagesTree is null here in IE8 for the manual execution on DOM ready
}

我所做的是在 Telerik 的 DOM 上手动运行 onPageSelected。但是,pagesTree 变量当时为空。怎么了?这个问题只出现在IE8(甚至IE9,而且我们不支持IE7及以下)

【问题讨论】:

    标签: javascript jquery telerik domready radtreeview


    【解决方案1】:

    这很可能是因为您只是在使用$find('pagesTree')。您必须记住,您为 ASP.NET 服务器端控件(Telerik 或非 Telerik)设置的 ID 将生成 ClientID。您可以通过执行以下操作来获取正确的客户端对象:

    var pagesTree = $find('<%= pagesTree.ClientID %>');
    

    当页面被渲染时, 将被渲染为一个带有你控件的正确 ClientID 的字符串。

    【讨论】:

    • ClientIDMode 设置为静态,正如我在 Firebug 中看到的,该元素确实具有 pagesTree id。
    猜你喜欢
    • 1970-01-01
    • 2016-10-31
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2011-04-05
    相关资源
    最近更新 更多