空格键不在此特定输入字段中工作

时间:2013-07-23 22:46:56

标签: javascript

大家好,我有这些由jQuery UI创建的标签,我有一个脚本,如果你双击标签的标题,它将允许你更改标签的名称。

一切正常,包括更改选项卡名称等等。但是,允许我更改选项卡名称的输入字段不允许我的空格键工作?我之前从未遇到过这样的事情,因此来到这里寻求帮助。

以下是我的代码片段,触发双击以更改标题。

HTML:

<li class="tab"><a href="#tab-1" title="Cool">Cool</a><span class="hide edit-field"><input type="text" value="Cool" name="tab_title[]" placeholder="Enter Title" /><button name="edit" type="submit">Done</button></span></li>

JS:

$( '.tab' ).on( 'dblclick', 'a', function() {
  $( this ).hide();
  $( this ).siblings( '.edit-field' ).show();
} );

$( 'button[name="edit"]' ).click( function() {
   // do stuff here.
} );

因此,如前所述,一切正常但只是某种方式空格键被禁用...... ??

感谢Jason Sperske,这是一个说明问题的小提琴。

http://jsfiddle.net/YhxGd/1/

感谢您的光临。

1 个答案:

答案 0 :(得分:0)

我认为您的问题来自jQuery UI中的this line源代码:

case $.ui.keyCode.SPACE:
  // Activate only, no collapsing
  event.preventDefault();
  clearTimeout( this.activating );
  this._activate( selectedIndex );
  return;

简而言之,jQuery UI有意阻止空格键执行任何操作(试图为标签提供更多类似行为的标签,并且行为不像链接)。至于修复,你可以尝试在进入标签编辑模式时禁用它,但我认为这可能会给你一些意想不到的行为。