jquery キーパッドのソースについては、ここをクリックしてください。
プロジェクトでこのキーパッドを別のフォームで使用しましたが、動作しますが、マスター ページを使用して別のフォームで同じものを使用すると、動作しません。私のマスターページでは、必要な参照がすべて追加されています(念のため、フォームのヘッド部分にも同じ参照が追加されています!)
<script src="../App_Themes/Default/js/jquery-1.6.1.js" type="text/javascript"></script>
<%--<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>--%>
<script src="../App_Themes/Default/js/jquery.keypad.js" type="text/javascript"> </script>
<script type="text/javascript">
$(function () {
$('#txtFTP').keypad();
});
</script>
同じフォームのマスターページ参照を削除し、コンテンツ プレースホルダーを HTML タグに置き換えても、jquery キーボードは機能します。
なぜそれが機能しないのか、誰かが私に提案できますか?
更新 1
この問題についてさらにテストするために、新しいテスト マスターページを作成しました。コード:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="TestMasterPage.master.cs"
Inherits="Member_TestMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
ご覧のとおり、jquery のマスター ページには参照がありません。
次に、新しい test.aspx ページを作成しました。コード:
<%@ Page Language="C#" MasterPageFile="~/Member/TestMasterPage.master"
AutoEventWireup="true" CodeFile="2.aspx.cs" Inherits="_2" %>
<asp:Content ContentPlaceHolderID="head" runat="server">
<script src="../App_Themes/Default/js/jquery-1.6.1.js" type="text/javascript">
</script>
<script src="../App_Themes/Default/js/jquery.keypad.js" type="text/javascript">
</script>
<script type="text/javascript">
$(function () {
$('#txtFTP').keypad();
});
</script>
</asp:Content>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div>
<asp:TextBox ID="txtFTP" SkinID="Mini" runat="server" TextMode="Password"
ForeColor="Gray" />
</div>
</form>
</asp:Content>
しかし、jquery キーボードは機能しません。しかし、マスターページの参照を削除し、それに応じてページを変更すると、キーボードが機能します! コード:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="2.aspx.cs" Inherits="_2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script src="../App_Themes/Default/js/jquery-1.6.1.js" type="text/javascript"></script>
<script src="../App_Themes/Default/js/jquery.keypad.js" type="text/javascript">
</script>
<script type="text/javascript">
$(function () {
$('#txtFTP').keypad();
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtFTP" SkinID="Mini" runat="server" TextMode="Password"
ForeColor="Gray" />
</div>
</form>
</body>
</html>
私は何を間違っていますか?マスター ページで動作させられないのはなぜですか?