asp.net – 在向下滚动页面后,对于webkit浏览器,AutoCompleteExt
发布时间:2020-12-16 07:04:26 所属栏目:asp.Net 来源:网络整理
导读:我的页面上有一个AutoCompleteExtender工作正常但当我向下滚动页面并使用它时,建议显示在错误(垂直)位置. 它发生在Safari Chrome但不支持IE和FF,所以我认为这可能是webkit的错. 下面是代码: td div style="position: relative;" asp:TextBox ID="DepartureA
|
我的页面上有一个AutoCompleteExtender工作正常但当我向下滚动页面并使用它时,建议显示在错误(垂直)位置.
它发生在Safari& Chrome但不支持IE和FF,所以我认为这可能是webkit的错. 下面是代码: <td>
<div style="position: relative;">
<asp:TextBox ID="DepartureAirportTextBox" runat="server" CssClass="DepartureAirport airport-textbox"
onblur="javascript:DepartureLostFocus();" onkeydown="javascript:DepartureChanged(event);"></asp:TextBox>
<asp:Panel ID="DepartureAutocompleteDropDownPanel" runat="server" ScrollBars="Vertical"
CssClass="autocomplete-panel" Style="display: none;" />
<AjaxControlToolkit:AutoCompleteExtender ID="DepartureAirportAutoComplete" runat="server"
TargetControlID="DepartureAirportTextBox" CompletionSetCount="200" ServicePath="../WebServices/SecureService.asmx"
ServiceMethod="ListAirports" MinimumPrefixLength="3" BehaviorID="DepartureAirport"
CompletionListElementID="DepartureAutocompleteDropDownPanel" OnClientItemSelected="SelectDepartureAirport"
OnClientPopulating="ShowDepartureIcon" OnClientPopulated="HideDepartureIcon">
</AjaxControlToolkit:AutoCompleteExtender>
</div>
</td>
我试过this&关于SO的this解决方案,但都没有成功. 更新: <asp:TextBox ID="txtMovie" runat="server"></asp:TextBox>
<AjaxControlToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="txtMovie"
runat="server" UseContextKey="True" MinimumPrefixLength="2" ServiceMethod="GetCompletionList" />
从上面的链接获取GetCompletionList的代码.这个问题很容易重现. 解决方法
我找到了
solution on Asp.net forums.
function resetPosition(object,args) {
var tb = object._element;
var tbposition = findPositionWithScrolling(tb);
var xposition = tbposition[0];
var yposition = tbposition[1] + 20; // 22 textbox height
var ex = object._completionListElement;
if (ex)
$common.setLocation(ex,new Sys.UI.Point(xposition,yposition));
}
function findPositionWithScrolling(oElement) {
if (typeof (oElement.offsetParent) != 'undefined') {
var originalElement = oElement;
for (var posX = 0,posY = 0; oElement; oElement = oElement.offsetParent) {
posX += oElement.offsetLeft;
posY += oElement.offsetTop;
if (oElement != originalElement && oElement != document.body && oElement != document.documentElement) {
posX -= oElement.scrollLeft;
posY -= oElement.scrollTop;
}
}
return [posX,posY];
} else {
return [oElement.x,oElement.y];
}
}
在Extender的OnClientShown事件上调用resetPosition (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 应该使用HTTP引用来验证还是令牌验证来防
- 什么是ASP.NET的最佳/推荐的CAPTCHA组件
- asp.net – 登录后重定向到上一页
- asp.net-mvc – Visual Studio 2013格式文档在MVC中将属性转
- asp.net – 在aspnet核心1应用程序的逻辑层中获取ClaimsPri
- asp.net-mvc-3 – ASP.MVC3 ModelState.IsValid不包括Remot
- ASP.NET用户名更改
- 在ASP.NET中更改doctype
- asp.net-mvc-3 – 在动作过滤器中获取动作参数的值
- asp.net-mvc-5 – 如何在服务器上保存Rotativa PDF
推荐文章
站长推荐
- EFCore 5 新特性 SaveChangesInterceptor
- 剃刀 – 我应该在ASP.NET MVC 3中放置声明式HTML
- asp.net-mvc – 在作为列表传递的模型中循环遍历
- asp.net – 注册.NET 4.5 IIS 10 Windows 10
- ASP.NET MVC5单击Html.ActionLink更改语言/文化
- asp.net-mvc – 使Kendo Datepicker只读,但也可以
- asp.net-mvc – 其中Simple Injector等效于Struc
- asp.net-mvc-3 – MVC 3 Razor EditorTemplate /
- 如何在Vista上的IIS7下调试ASP.NET应用程序?
- [译]ASP.NET Core 2.0 带初始参数的中间件
热点阅读
