出处:不记得了,致歉作者
今天给repeater用JS写一个hover事件
<
script
type
="text/javascript"
>
$(
function
(){ $(
'
.trhead
'
).click(
function
(){ $(
this
).next(
'
.trcontent
'
).find(
'
.divcontent
'
).slideToggle(
'
fast
'
); }); $(
'
.trhead
'
).hover(
function
(){$(
this
).css(
"
background
"
,
'
rgb(215,215,215)
'
);},
function
(){$(
this
).css(
"
background
"
,
'
#fff
'
);} ); })
</
script
>
结果 repeater翻到第二页后,效果失效了,也就是JS没了。 这个时候,就在
protected
void AspNetPager3_PageChanged(
object
sender, EventArgs e) { BindData();
//
绑定数据后重新注册一下JS事件ScriptManager.RegisterClientScriptBlock(up1, GetType(),
"
aa
",
"
aa()
",
true
); }
而这个aa()函数呢,当然啦,就是:
<
script
type
="text/javascript"
>
function
aa() { $(
'
.trhead
'
).click(
function
(){ $(
this
).next(
'
.trcontent
'
).find(
'
.divcontent
'
).slideToggle(
'
fast
'
); }); $(
'
.trhead
'
).hover(
function
(){$(
this
).css(
"
background
"
,
'
rgb(215,215,215)
'
);},
function
(){$(
this
).css(
"
background
"
,
'
#fff
'
);} ); }
</
script
>
也就是把onload要执行的JS,放到一个方法aa()中,在分页绑定数据后,重新注册一下即可。 同理,当别的控件回传后,也需要重新注册下即可。 Over~ |
updatePanel导致JS失效的解决办法
最新推荐文章于 2021-01-14 13:32:20 发布