javascript - Accordion 标题子项的停止单击、Enter 和箭头键

标签 javascript jquery jquery-ui

所以我想在 JQueryUI 的 Accordion header 中放置一个 contenteditable 字段,但是,当我尝试将事件绑定(bind)到该子对象时,即使我尝试取消绑定(bind)或阻止, Accordion 的绑定(bind)也会优先遗产。

<div class="accord">
    <div>
        <div class="theHead" >
            <span class="ignoreAccordBinds" contenteditable="true">Edit Me</span>
        </div>
        <div class="theBody">
        SomeBody
        </div>
    </div>
            ...

我希望上面的代码在范围内执行任何操作时忽略所有 Accordion 操作。

我已经尝试过

     $(".ignoreAccordBinds").keypress(function(e){
          e.stopPropagation();
      });
   $(".accord").find(".ignoreAccordBinds").unbind();

似乎都没有帮助。

我创建了一个JSFiddle我的问题。如果您尝试使用向右箭头键将光标(插入符号)移动到其中一个标题上, Accordion 会选择另一个 div。如果您尝试按 Enter 键,它只会打开/关闭它们,而不是插入换行符。

有人有什么想法吗?

最佳答案

使用

$(".ignoreAccordBinds").keypress(function (e) {
    e.stopPropagation();
    return false;
});

您的语法不正确。

  $(".ignoreAccordBinds").keypress()(function(e)
                                  ^

这里不需要括号。

DEMO

关于javascript - Accordion 标题子项的停止单击、Enter 和箭头键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20548614/

相关文章:

javascript - 打印分页表(simplePagination.js by flaviusmatis)

jquery - 反转动画方向

jquery - Chrome 选项 JQuery 插件

javascript - Chrome 没有将 cookie 路径设置为 root

javascript - 为什么通过函数参数从 div 获取文本不起作用?

javascript - 无值/null 为数字 0 的 JQuery 价格格式

javascript - 将 jqueryui 自动完成返回的值传递给另一个函数

jQuery UI 选项卡。在非 ajax 选项卡中重新加载事件选项卡

javascript - 在 Javascript 中创建一个表

javascript - 允许用户通过 ajax 志愿执行任务