我有一个调用滑动窗格的功能(telerik分离器控件)
我以为可以使用此功能

function getZone() {
        var slidingZone = $find("<%= slidingZone.ClientID %>");
        return function () { return slidingZone; };
    }


这样就不必每次都“找到”滑动区域。但这是行不通的。

这是...

function getZone() {
        var slidingZone = $find("<%= slidingZone.ClientID %>");
        return slidingZone;
}


你能告诉我为什么第一个不工作吗?

顺便说一句,我正在这样使用它。

function hideTreePane() {
        var paneId = "<%= slidingPane.ClientID %>";
        getZone().undockPane(paneId);
        return true;
    }

最佳答案

好吧,第一个函数返回一个函数,并且您希望内部函数被执行。

如果您调用它的结果,您将看到它起作用,例如:

getZone()();


我想您需要使用立即执行的匿名函数进行以下操作,以仅调用一次$find方法,并存储其结果:

var getZone = (function() {
  var slidingZone = $find("<%= slidingZone.ClientID %>");
  return function () { return slidingZone; };
})();

关于javascript - javascript关闭,无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4185620/

10-13 04:33