0

を無効にする必要がありMultiHandleSliderExtenderます。ここでスライダーを無効にするための答えが見つかりました。そこに記載されているように、コードを変更しようとしました。しかし、MultiHandleSliderExtenderそれは機能していません。

<form id="form1" runat="server">
        <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="Server" />
        <div>

            <table>
                <tr>
                    <td>
                        <asp:TextBox ID="multiHandle2_1_BoundControl" runat="server" Width="30" Text="0" />
                    </td>
                    <td style="width: 180px">
                        <asp:TextBox ID="sliderTwo" runat="server" />
                        <ajaxToolkit:MultiHandleSliderExtender ID="multiHandleSliderExtenderTwo" runat="server"
                            BehaviorID="multiHandleSliderExtenderTwo"
                            TargetControlID="sliderTwo"
                            Minimum="0"
                            Maximum="10"
                            Length="175"
                            TooltipText="{0}"
                            EnableHandleAnimation="true"
                            Orientation="Horizontal"
                            EnableKeyboard="false"
                            EnableMouseWheel="false"
                            ShowHandleDragStyle="true"
                            ShowHandleHoverStyle="true">
                            <MultiHandleSliderTargets>
                                <ajaxToolkit:MultiHandleSliderTarget ControlID="multiHandle2_1_BoundControl" />
                                <ajaxToolkit:MultiHandleSliderTarget ControlID="multiHandle2_2_BoundControl" />
                            </MultiHandleSliderTargets>
                        </ajaxToolkit:MultiHandleSliderExtender>
                        <asp:Label ID="lbl" runat="server" Text="1" />
                    </td>
                    <td>
                        <asp:TextBox ID="multiHandle2_2_BoundControl" runat="server" Width="30" Text="10" />
                    </td>
                </tr>
            </table>
            <input id="btnDisable" type="button" value="Disable" onclick="disableSlider()" />
            <input id="btnEnable" type="button" value="Enable" onclick="enableSlider()" disabled="true" />
        </div>

        <script type="text/javascript" language="javascript">
            function disableSlider() {
                $clearHandlers($find('multiHandleSliderExtenderTwo')._handleData);
                //$clearHandlers($find('multiHandleSliderExtenderTwo')._railElement);
                $get('btnDisable').disabled = true;
                $get('btnEnable').disabled = false;
            }

    function enableSlider() {
        $addHandlers($find('multiHandleSliderExtenderTwo')._handleData,
           {
               'mousedown': $find('multiHandleSliderExtenderTwo')._onMouseDown,
               'dragstart': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler,
               'drag': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler,
               'dragend': $find('multiHandleSliderExtenderTwo')._IEDragDropHandler
           },
           $find('Slider1'));

        //$addHandlers($find('multiHandleSliderExtenderTwo')._outer,
        //    {
        //        'click': $find('multiHandleSliderExtenderTwo')._onRailClick
        //    },
        //    $find('multiHandleSliderExtenderTwo'));
        $get('btnDisable').disabled = false;
        $get('btnEnable').disabled = true;
    }

        </script>
    </form>

multihandlerというイベントはありませんrailElement。これに相当するものはありますか?またはコントロールを無効にする他のアイデアが役立ちます

編集:これを無効にすることができます。ただし、有効にすると問題が発生します。

次のようにコードを変更しました。

function disableSlider() {           
    $clearHandlers($find('multiHandleSliderExtenderTwo')._handleData);
    $clearHandlers($find('multiHandleSliderExtenderTwo')._outer);
    $clearHandlers($find('multiHandleSliderExtenderTwo')._outerDelegates);     

}
4

1 に答える 1