某頁(yè)碼顯示的helper 少量調(diào)整,另附j(luò)s版
如果你只想下載現(xiàn)成的用,可以到這個(gè)頁(yè)面上去找。
許可證是“WTFPL”,也就是“Do What The Fuck You Want To Public License”。
public static class PageNumExt
{
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(currentPage, actionPageNum, actionPageNum, actionFolding, maxSiblings, preventFolding);
}
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(
currentPage, actionCurrent,
1, long.MaxValue,
actionPageNum, i => { },
maxSiblings, actionPageNum,
preventFolding, actionFolding,
maxSiblings, 0,
actionPageNum, i => { }
);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(currentPage, actionCurrent, beginPage, endPage, actionPageNum, actionPageNum, actionPageNum, actionFolding, maxSiblings, preventFolding);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼、起始頁(yè)碼和終止頁(yè)碼都指定了專用的委托來(lái)處理。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="actionSebling">處理臨近頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionBegin, PageNumAction actionEnd,
PageNumAction actionSebling, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
maxSiblings, actionSebling,
preventFolding, actionFolding,
maxSiblings, maxSiblings,
actionSebling, actionSebling
);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。每一種頁(yè)碼的具體處理方式都需要由調(diào)用方指派委托。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="currentSiblings">當(dāng)前頁(yè)碼的臨近頁(yè)碼數(shù)量</param>
/// <param name="actionCurrentSibling">處理臨近頁(yè)碼的方式</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="endOfBegin">起始頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="beginOfEnd">結(jié)束頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="actionBeginSibling">處理起始頁(yè)臨近頁(yè)碼的方式</param>
/// <param name="actionEndSibling">處理結(jié)束頁(yè)臨近頁(yè)碼的方式</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionBegin, PageNumAction actionEnd,
long currentSiblings, PageNumAction actionCurrentSibling,
long preventFolding, Action actionFolding,
long endOfBegin, long beginOfEnd,
PageNumAction actionBeginSibling, PageNumAction actionEndSibling
)
{
long i = beginPage;
// 如果起始頁(yè)小于當(dāng)前頁(yè),就開(kāi)始處理起始頁(yè)
if (beginPage < currentPage)
#region
{
actionBegin(beginPage);
i++;
endOfBegin += i; // 解決靠近起始頁(yè)的頁(yè)碼之后
var siblingBegin = currentPage - currentSiblings; // 當(dāng)前頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = siblingBegin - preventFolding; // 頁(yè)碼折疊的底線
if (endOfBegin > siblingBegin)
endOfBegin = siblingBegin; // 保證當(dāng)前頁(yè)的臨近頁(yè),犧牲起始頁(yè)的臨近頁(yè)
for (; i < endOfBegin; i++)
actionBeginSibling(i);
if (i < foldingStart) // 如果還沒(méi)到達(dá)折疊底線,就馬上開(kāi)始折疊
{
actionFolding();
i = foldingStart + 1; // 跳到折疊之后的頁(yè)碼
}
}
#endregion
// 處理當(dāng)前頁(yè)之前的臨近頁(yè)
for (; i < currentPage; i++)
actionCurrentSibling(i);
// 處理當(dāng)前頁(yè)
actionCurrent(currentPage);
i = currentPage + 1; // 表示當(dāng)前頁(yè)已經(jīng)處理完成。
// 由于不能保證當(dāng)前頁(yè)和期望的起始頁(yè)的關(guān)系,所以在此從當(dāng)前頁(yè)開(kāi)始計(jì)算。
var goal = i + currentSiblings; // 設(shè)定一個(gè)目標(biāo)
if (goal > endPage) // 目標(biāo)不要超過(guò)結(jié)束頁(yè)
goal = endPage;
// 處理當(dāng)前頁(yè)之后的臨近頁(yè),直到到達(dá)目標(biāo)頁(yè)為止
for (; i < goal; i++)
actionCurrentSibling(i);
// 如果結(jié)束頁(yè)大于當(dāng)前頁(yè),就開(kāi)始處理結(jié)束頁(yè)
if (endPage > currentPage)
#region
{
beginOfEnd = endPage - beginOfEnd; // 計(jì)算出結(jié)束頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = beginOfEnd - preventFolding;
if (i < foldingStart) // 沒(méi)有觸及折疊底線,馬上開(kāi)始折疊
{
actionFolding();
i = beginOfEnd;
}
else // 全部當(dāng)作當(dāng)前頁(yè)的臨近頁(yè)來(lái)處理,但保留結(jié)束頁(yè)的臨近頁(yè)
for (; i < beginOfEnd; i++)
actionCurrentSibling(i);
for (; i < endPage; i++)
actionEndSibling(i);
actionEnd(endPage);
}
#endregion
}
}
JavaScript版的源代碼可以直接在前面提到的頁(yè)面下載,不過(guò)這里也列出一下:
!function () {
var g = this;
var def_maxSiblings = 2;
var def_preventFolding = 1;
function pnView1(
currentPage, actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView2(currentPage, actionPageNum, actionPageNum, actionFolding, maxSiblings || def_maxSiblings, preventFolding || def_preventFolding);
}
function pnView2(
currentPage, actionCurrent,
actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView(
currentPage, actionCurrent,
1, Number.POSITIVE_INFINITY,
actionPageNum, null,
maxSiblings || def_maxSiblings, actionPageNum,
preventFolding || def_preventFolding, actionFolding,
maxSiblings || def_maxSiblings, 0,
actionPageNum, null
);
}
function pnView3(
currentPage, actionCurrent,
beginPage, endPage,
actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView4(currentPage, actionCurrent, beginPage, endPage, actionPageNum, actionPageNum, actionPageNum, actionFolding, maxSiblings || def_maxSiblings, preventFolding || def_preventFolding);
}
function pnView4(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
actionSebling, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼、起始頁(yè)碼和終止頁(yè)碼都指定了專用的委托來(lái)處理。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="actionSebling">處理臨近頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
maxSiblings || def_maxSiblings, actionSebling,
preventFolding || def_preventFolding, actionFolding,
maxSiblings || def_maxSiblings, maxSiblings || def_maxSiblings,
actionSebling, actionSebling
);
}
function pnView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
currentSiblings, actionCurrentSibling,
preventFolding, actionFolding,
endOfBegin, beginOfEnd,
actionBeginSibling, actionEndSibling
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。每一種頁(yè)碼的具體處理方式都需要由調(diào)用方指派委托。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="currentSiblings">當(dāng)前頁(yè)碼的臨近頁(yè)碼數(shù)量</param>
/// <param name="actionCurrentSibling">處理臨近頁(yè)碼的方式</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="endOfBegin">起始頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="beginOfEnd">結(jié)束頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="actionBeginSibling">處理起始頁(yè)臨近頁(yè)碼的方式</param>
/// <param name="actionEndSibling">處理結(jié)束頁(yè)臨近頁(yè)碼的方式</param>
var i = beginPage;
// 如果起始頁(yè)小于當(dāng)前頁(yè),就開(kāi)始處理起始頁(yè)
if (beginPage < currentPage) {
actionBegin && actionBegin(beginPage);
i++;
endOfBegin += i; // 解決靠近起始頁(yè)的頁(yè)碼之后
var siblingBegin = currentPage - currentSiblings; // 當(dāng)前頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = siblingBegin - preventFolding; // 頁(yè)碼折疊的底線
if (endOfBegin > siblingBegin)
endOfBegin = siblingBegin; // 保證當(dāng)前頁(yè)的臨近頁(yè),犧牲起始頁(yè)的臨近頁(yè)
for (; i < endOfBegin; i++)
actionBeginSibling && actionBeginSibling(i);
if (i < foldingStart) // 如果還沒(méi)到達(dá)折疊底線,就馬上開(kāi)始折疊
{
actionFolding && actionFolding();
i = foldingStart + 1; // 跳到折疊之后的頁(yè)碼
}
}
// 處理當(dāng)前頁(yè)之前的臨近頁(yè)
for (; i < currentPage; i++)
actionCurrentSibling && actionCurrentSibling(i);
// 處理當(dāng)前頁(yè)
actionCurrent && actionCurrent(currentPage);
i = currentPage + 1; // 表示當(dāng)前頁(yè)已經(jīng)處理完成。
// 由于不能保證當(dāng)前頁(yè)和期望的起始頁(yè)的關(guān)系,所以在此從當(dāng)前頁(yè)開(kāi)始計(jì)算。
var goal = i + currentSiblings; // 設(shè)定一個(gè)目標(biāo)
if (goal > endPage) // 目標(biāo)不要超過(guò)結(jié)束頁(yè)
goal = endPage;
// 處理當(dāng)前頁(yè)之后的臨近頁(yè),直到到達(dá)目標(biāo)頁(yè)為止
for (; i < goal; i++)
actionCurrentSibling && actionCurrentSibling(i);
// 如果結(jié)束頁(yè)大于當(dāng)前頁(yè),就開(kāi)始處理結(jié)束頁(yè)
if (endPage > currentPage) {
beginOfEnd = endPage - beginOfEnd; // 計(jì)算出結(jié)束頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = beginOfEnd - preventFolding;
if (i < foldingStart) // 沒(méi)有觸及折疊底線,馬上開(kāi)始折疊
{
actionFolding && actionFolding();
i = beginOfEnd;
}
else // 全部當(dāng)作當(dāng)前頁(yè)的臨近頁(yè)來(lái)處理,但保留結(jié)束頁(yè)的臨近頁(yè)
{
for (; i < beginOfEnd; i++)
actionCurrentSibling && actionCurrentSibling(i);
}
for (; i < endPage; i++)
actionEndSibling && actionEndSibling(i);
actionEnd && actionEnd(endPage);
}
}
g.pnView1 = pnView1;
g.pnView2 = pnView2;
g.pnView3 = pnView3;
g.pnView4 = pnView4;
g.pnView5 = pnView;
g.pnView = pnView;
} ();
/201009/yuanma/pnView_NanaView.rar
- js實(shí)現(xiàn)下一頁(yè)頁(yè)碼效果
- javascript分頁(yè)代碼(當(dāng)前頁(yè)碼居中)
- javascript 支持頁(yè)碼格式的分頁(yè)類
- 原生js和jquery實(shí)現(xiàn)圖片輪播特效
- javascript結(jié)合CSS實(shí)現(xiàn)蘋果開(kāi)關(guān)按鈕特效
- js實(shí)現(xiàn)圖片無(wú)縫滾動(dòng)特效
- 一個(gè)簡(jiǎn)單的JS鼠標(biāo)懸停特效具體方法
- js文字橫向滾動(dòng)特效
- js實(shí)現(xiàn)文字閃爍特效的方法
- 23個(gè)Javascript彈出窗口特效整理
- 兼容多瀏覽器的字幕特效Marquee的通用js類
- 純JS實(shí)現(xiàn)可用于頁(yè)碼更換的飛頁(yè)特效示例
相關(guān)文章
javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器效果【推薦】
下面小編就為大家?guī)?lái)一篇javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器效果【推薦】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-04-04基于javascript顯示當(dāng)前時(shí)間以及倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了基于javascript顯示當(dāng)前時(shí)間以及倒計(jì)時(shí)功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03JavaScript Date對(duì)象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換問(wèn)題
這篇文章主要介紹了JavaScript Date對(duì)象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識(shí) wasm-bindgen 組件
這篇文章主要介紹了改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識(shí) wasm-bindgen 組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07詳解Javascript 中的 class、構(gòu)造函數(shù)、工廠函數(shù)
這篇文章主要介紹了詳解Javascript 中的 class、構(gòu)造函數(shù)、工廠函數(shù),需要的朋友可以參考下2017-12-12js實(shí)現(xiàn)的xml對(duì)象轉(zhuǎn)json功能示例
這篇文章主要介紹了js實(shí)現(xiàn)的xml對(duì)象轉(zhuǎn)json功能,結(jié)合實(shí)例形式分析了javascript轉(zhuǎn)換成xml所涉及的字符串、對(duì)象、數(shù)組、遍歷等操作技巧與使用方法,需要的朋友可以參考下2016-12-12ES6使用新特性Proxy實(shí)現(xiàn)的數(shù)據(jù)綁定功能實(shí)例
這篇文章主要介紹了ES6使用新特性Proxy實(shí)現(xiàn)的數(shù)據(jù)綁定功能,結(jié)合具體實(shí)例形式分析了ES6使用Proxy實(shí)現(xiàn)數(shù)據(jù)綁定具體原理、操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05javascript中attachEvent用法實(shí)例分析
這篇文章主要介紹了javascript中attachEvent用法,實(shí)例分析了javascript中事件綁定的相關(guān)技巧,需要的朋友可以參考下2015-05-05