1

嗨,我有这些由 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/

感谢您的关注。

4

1 回答 1

0

我认为您的问题来自jQuery UI 中的这一行源代码:

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

简而言之,jQuery UI 故意阻止空格键执行任何操作(试图让选项卡更像选项卡的行为,而不是像链接的行为)。至于修复,您可以在进入选项卡编辑模式时尝试禁用此功能,但我认为这可能会给您带来一些意外行为。

于 2013-07-23T23:11:07.190 回答