jquery在第二次加载webuser控件时不起作用

时间:2014-01-03 04:25:54

标签: jquery telerik webusercontrol

这是webuser控件中的html代码

    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" Width="100%">
        <telerik:RadPageView ID="RadPageView1" runat="server">

        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
        <script type="text/javascript">
            $(function (){
            $('#btn_jquerycall').button().click(function () {
                alert("Comming Soon!");
            });
        });
    </script>
        <fieldset>
            <div style="margin-top: 10px; margin-left: 10px;">
                <span style="font-weight: bold;">
                    <asp:Literal runat="server" ID="lblSubject" />
                </span><span style="font-style: italic;">
                    <asp:Literal runat="server" ID="lblDate" Text=" - {0:dd/MM/yyyy}" />
                </span>
            </div>
            <div class="event">
                <asp:Literal runat="server" ID="lblContent" />
            </div>
        </fieldset>
        <div>
            <telerik:RadButton ID="telerik_button" runat="server" Text="Telerik Button" 
                    Height="35">
                    <Icon PrimaryIconUrl="~/Images/iconGreen.png" PrimaryIconWidth="32" PrimaryIconHeight="32"
                        PrimaryIconCssClass="PrimaryIcon" />
                </telerik:RadButton>
                <input id="btn_jquerycall" type="button" value="Alert Jquery"/>
        </div>
    </telerik:RadPageView>
</telerik:RadMultiPage>
问题是,当我第一次加载这个页面时,当我点击btn_jquerycall按钮时,Jquery运行良好,这意味着调用了警报。但是当我点击telerik_button这个webuser控件被加载时,在第二次加载时我再次点击btn_jquerycall,jquery没有调用,因为我试图在RadMultipage之外移动btn_jquerycall ..

如何在第二次加载时使用jquery?需要帮助.....

3 个答案:

答案 0 :(得分:0)

尝试将以下函数放入脚本标记:

$(document).ready(function(){
   var $button = $('#btn_jquerycall');
    $button.button();
   if(typeof $button === undefined)
       alert('Button not founded');
   else
       $button.on('click', function(){
           alert('Comming soon');
       });
});

如果页面加载后出现“按钮未建立”警告,则表示您的页面未正确加载。如果它确实存在于您的页面中,它将起作用。

  

修改

尝试关注link

答案 1 :(得分:0)

你应该这样写。

$(function (){
    $('#btn_jquerycall').click(function () {
        alert("Comming Soon!");
    });
});

或者您可以这样使用

$(document).ready(function (){
    $('#btn_jquerycall').click(function () {
        alert("Comming Soon!");
    });
});

答案 2 :(得分:0)

试试这个:

脚本代码应位于RadMultiPage外部的RadCodeBlock标记中,如下所示:

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
    $(document).ready(function (){
        $("#<%=btn_jquerycall.Client%>").click(function () {
            alert("Comming Soon!");
        });
    });
 </script>
</telerik:RadCodeBlock>

<强> RadcodeBlock