【问题标题】:adding event listener on one div and removing it when other div is clicked在一个 div 上添加事件侦听器并在单击其他 div 时将其删除
【发布时间】:2014-07-22 23:10:21
【问题描述】:

我有两个带有这样文本的 div:

<div class="title">  <p>Editable title</p>  </div>
<div class="text">  <p>Editable text</p>  </div>

现在,我有一个名为checkClick(val) 的函数,它将我自己的文本编辑器附加到样式文本中。

当单击带有class="title" 的元素时,应该调用该函数,并且只有那些class="title" 段落应该是可编辑的。

当单击带有class="text" 的元素时,应调用该函数,并且只有那些class="text" 段落应该是可编辑的。

我试过这个:

$(".title").click(function(){ checkClick(".title"); });
$(".text").click(function(){ checkClick(".text"); });

但是现在两个 div 都有那个事件监听器,当我在编辑器中单击粗体时,两个文本都是粗体的,但应该只有我之前选择的 div 是可编辑的。

【问题讨论】:

  • checkClick() 是做什么的?
  • 它显示了我的自定义文本编辑器,然后它检查我的编辑器上的哪个按钮被按下并应用该命令前。粗体到选定的 div。(标题或文本);
  • 请添加你的checkClick()函数源
  • 我猜你应该使用checkClick($(this)); 而不是checkClick(".text");checkClick(".title");
  • 链接 j08691 和 oliakaoil 说,这应该是正确的 - 当点击 .title 元素时,应该调用 checkClick(".title"),对于 .text 元素也是如此 - 一定有问题使用您的 checkClick() 函数。

标签: javascript jquery


【解决方案1】:

如何使用 jquery 将选定的 div 设置为“活动”,然后对类做任何你喜欢的事情?

function checkClick(target) {

  $('.active').removeClass('active');
  $(target).addClass('active');
  $('.active').doWhateverYouLike...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 2013-02-27
    相关资源
    最近更新 更多