首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将css下拉菜单放置在IE和Chrome/Firefox的同一位置

如何将css下拉菜单放置在IE和Chrome/Firefox的同一位置
EN

Stack Overflow用户
提问于 2014-12-04 20:45:33
回答 1查看 189关注 0票数 0

我有一个下拉列表,当你点击对话框内网格中的图标(小的黑色滤镜,实际上是一个链接)时,它就会打开。如果我从target.position()获得坐标,它在Chrome中的位置非常好。

这是使用target.position()在Chrome中的屏幕截图:

代码语言:javascript
复制
scope.showFilterMenu = function ($event, id) {
   var modal = $('div[kendo-window]');
   var target = $($event.currentTarget);
   var offset = target.position(); // THIS WORKS FOR CHROME BUT NOT IE
   var offset = target.offset(); // THIS WORKS FOR IE BUT NOT CHROME
   var top = offset.top;
   var left = offset.left + 25; // 25 is extra buffer
   modal.append(filterMenu);               
   var filterMenu = $('ul[sgid=' + id + ']'); // the dropdown menu is a ul list             
   filterMenu.css({
      'width': 50 + 'px',
      'top': dd_top + 'px',
      'position': 'fixed', // must be fixed so that it follows the window contract and expand
      'left': left // align LHS with filter icon
   });

}

但是在IE中使用target.position()就完全抛弃了它,我必须使用target.offset()来代替。有谁知道我怎样才能找到两种浏览器的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2014-12-04 20:53:21

你为什么不做一个简单的if condition呢?像if(IE) {X} else {Y}一样

代码语言:javascript
复制
var IE = (document.all) ? true : false;

编辑:

此外,您还可以检查以下内容:

代码语言:javascript
复制
var ie_browser = jQuery.browser.msie;

好吧,忽略这个。它在jQuery 1.9中被删除了。

也许这会有所帮助:其中包含了IE11更新。Check if user is using IE with jQuery

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27294460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档