小编Bre*_*lli的帖子

如何在IE中删除焦点onmousedown?

最终目标:鼠标用户的漂亮页面,键盘用户的可访问页面.我想要的效果是点击一个锚点,在此期间不产生轮廓,之后不留任何轮廓.此外,我希望键盘标签移动焦点,从而围绕具有轮廓的项目.以下代码适用于FF(我假设其他现代浏览器,但我明天必须在办公室测试它们),但不是IE6-8.问题在于onmousedown似乎没有按预期模糊:

var links = document.getElementsByTagName('a');
for (var i=0; i < links.length; i++) {
    links[i].onmousedown = function () {
        this.blur();
        return false;
    }
    links[i].onclick = function() {
        this.blur();
    }
}
Run Code Online (Sandbox Code Playgroud)

一个折衷方案是,如果任何人有一个解决方案可以处理IE中的情况,用户将鼠标放下,鼠标离开锚点,然后鼠标移动,并且不留下任何轮廓将是朝着正确方向迈出的一步.谢谢.

编辑:2010年3月5日,星期五我最深切的抱歉花了这么长时间才回到这一点,但我需要一个在尽可能多的浏览器中工作的解决方案.好吧,事实证明,只需要一些大纲,课程和焦点管理,不需要超时.以下解决方案适用于IE6 +,FF2 +,Safari 3+和Chrome.我没有在Opera中测试,但是如果有人能够确认/否认它有效,我会很高兴.接下来是比纯js更多的suedo-code.我把它作为练习让读者在你最喜欢的框架中实现:

var anchorEventIsMouse = true;
$('a').mousedown(function() {
  anchorEventIsMouse = true;
  this.hideFocus = true;  /* IE6-7 */
  this.style.outlineStyle = 'none';  /* FF2+, IE8 */
  this.addClass('NoOutline');  /* see click func */
  this.setFocus();  /* Safari 3+ */
  });
$('a').keydown(function() {
  anchorEventIsMouse = false;
  });
$('a').blur(function() {
  this.style.outlineStyle = '';
  this.hideFocus …
Run Code Online (Sandbox Code Playgroud)

html javascript css internet-explorer

11
推荐指数
1
解决办法
5211
查看次数

在Netbeans中记录javascript以进行自动完成/代码完成/智能感知

我在Windows 7上使用Netbeans 6.9和7-Beta.根据Netbeans javascript文档,应该可以向我的项目添加文档并在我的类和函数上自动完成.我遇到的麻烦是我正在使用我自己的类声明(通过一个被调用的函数Class)并且似乎无法使事情正常工作.例如,一个简单的类声明看起来像:

mySubClass = Class(parentClass, {
  memberVariable: null,

  /**
   * @class mySubClass
   * @constructor
   */
  initialize: function(value) {
    this.memberVariable = value;
  },

  /**
   * @class mySubClass
   */
  getMV: function() {
    return this.memberVariable;
  },

  /**
   * @class mySubClass
   */  
  setMV: function(value) {
    this.memberVariable = value;
  }
});
Run Code Online (Sandbox Code Playgroud)

我试过的声明(许多变化和展示位置@class,@memberOf等),但无法获得完成工作.例如之后,

var testObj = new my
Run Code Online (Sandbox Code Playgroud)

我应该可以mySubClass通过点击"ctrl + space"获得并同样继续:

var test = new mySubClass(1);
test.
Run Code Online (Sandbox Code Playgroud)

并获得期权getMVsetMV.这是可能的,如果是这样,我该怎么办?谢谢.

javascript intellisense netbeans autocomplete

7
推荐指数
1
解决办法
4111
查看次数