iscroll jquery在部分回发时中断
iscroll jquery breaks on partial postback
我发现了一个名为iScroll的脚本,可以在iPad设备上用作垂直列表的1位数滚动机制。它所需要的只是:
<script type="text/javascript" src="http://cubiq.org/dropbox/iscroll4/src/iscroll.js"></script>
以及以下内容:
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper');
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);
当页面第一次加载时,它运行良好,但是使用它的列表位于asp.net更新面板中,并且在回发时滚动会中断。
当触发列表刷新的事件发生时,我尝试过从我的c#中注册artupscript:
public string ipadScript()
{
StringBuilder sb = new StringBuilder();
sb.Append("var myScroll;" + Environment.NewLine);
sb.Append("function loaded() {" + Environment.NewLine);
sb.Append("alert('h');" + Environment.NewLine);
sb.Append("myScroll = new iScroll('wrapper');" + Environment.NewLine);
sb.Append("}" + Environment.NewLine);
sb.Append("document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);" + Environment.NewLine);
sb.Append("document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);" + Environment.NewLine);
return sb.ToString();
}
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "ipadKey", ipadScript(), true);
但这似乎也不起作用。我甚至没有得到我在脚本中添加的用于检查回发的"警报"。希望有人能帮忙?
解决了!!!!
function pageLoad(sender, args) {
if (args.get_isPartialLoad()) {
myScroll = new iScroll('wrapper');
}
}
这只适用于asp.net更新面板
更新面板后应调用刷新方法myScroll.refresh()
。客户端:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(sender, eventArgs)
{
myScroll.refresh();
}
ClientScriptManager
只会注册代码,但由于<head>
元素不在更新面板中,因此它永远不会被添加,即使被添加也不会执行。
您需要注册一个客户端事件处理程序来重新初始化列表:
$(document).ready(function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
});
var endRequestHandler = function() { myScroll.refresh(); };
相关文章:
- jQuery addClass中断延迟,或者jQuery延迟中断CSS转换,或者两者兼而有之
- 当jQuery ajax请求中包含#时,URL中断
- Jquery处理提交按钮's单击事件而不中断表单发布
- 从jquery foreach内部中断函数
- 复杂选择器在jQuery 1.8中中断,但在1.7.2中工作
- jQuery - 动态表计算在添加 .toFixed(1) 时中断
- jQuery animate 会中断空格键滚动
- 为什么这个JQuery代码会在移动设备上中断
- jQuery显示/隐藏返回未定义的、中断的插件
- 等待JQuery执行,直到加载了整个页面,中断执行
- JQuery delay()中断fadeIn序列
- jQuery each()在null上中断
- 无法中断jquery.validate回调
- jQuery 在多步骤表单上验证失败后中断
- JQuery AJAX中断了“错误”
- 在每组三个图像之后添加中断 jquery
- 中断 JQuery 设置超时函数
- Jquery:上传多张图片时,发布请求中断
- 在执行 ajax 调用返回错误时中断 jquery for 循环
- CSS显示:无&JS.show()中断JQuery和AjaxToolkit日期选择器