【问题标题】:Preview text on only one li having same class仅在具有相同课程的一 li 上预览文本
【发布时间】:2015-05-16 11:59:38
【问题描述】:

我有一个<ul>,当我在输入框中键入时,文本会在列表中预览。我还有一个按钮,我可以在其中将更多<li>s 添加到<ul>。我想拥有它,以便当我在文本框中输入文本时,该文本会在 <li> 上预览。

我的代码:

<ul class="nav nav-list nav-stacked" id="courseNav">
    <li class="title">
        <a href="#">Overview</a>
    </li>
    <li class="topics" style="margin-top: -12px">
        <a href="#">Topic</a>
    </li>
    <li class="topics">
        <a href="#">Topic</a>
    </li>
    <li class="topics">
        <a href="#">Topic</a>
    </li>
</ul>

我的按钮代码:

$('#addCourse').click(function() {
    // adds a li to the courseNav
    $('#courseNav').append('<li class="newTopic" id="newLi"><a href="#">Topic</a></li>');

    $('.newTopic').click(function() {
        $('#courseDiv').css('display', 'none');
        $('#topicDiv').css('display', 'block');
    }); 
});

$('#delCourse').click(function() {
    $('#newLi').remove();
});

我的预览代码:

var input = $('#editorText'),
    preview = $('.topics a');

    input.keyup(function (e) {
        preview.html(input.val());
        preview.css('padding-top', '10px');
        preview.css('padding-bottom', '10px');
        preview.css('padding-right', '15px');
        preview.css('padding-left', '15px');
        preview.css('word-wrap', 'break-word');
    });

问题是文本在所有带有class“主题”的&lt;li&gt;s 上都被预览。我怎样才能解决这个问题?我可以将ids 分配给&lt;li&gt;s,但是按钮添加的那些呢?

New fiddle

【问题讨论】:

  • 请修好你的小提琴,它不起作用

标签: javascript jquery html css summernote


【解决方案1】:

查看jsFiddle。单击时可以保存当前节点,并且keyup 绑定必须超出click 处理程序

input.keyup(function (e){
   ...    
}

$('.topics').click(function(){
    preview = $(this).find('a');
    ...
}

【讨论】:

  • 谢谢,但如果我希望每个 li 的主题标题的输入框也不同,该怎么办。再次感谢您的帮助!!
  • 如果我理解正确的话,你想要像 jsfiddle.net/gxwcqqfx/5 这样的东西,以实现每次点击都可以从 li 获取价值并设置为 input
  • 这正是我想要的。还有一件事。我有一个按钮,可以将 lis 添加到我的导航列表中。这种方法也适用吗?
  • 是的,它会的。只需使用 delegation $(document).on('click', '.topics',function(){} 而不是 $('.topics').click(function(){} jsfiddle.net/gxwcqqfx/6
  • 好吧.. 最后一件事。当我点击我的 li 时,为什么我的文本框中会出现“主题”文字,我该如何删除它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 2012-10-25
  • 2011-11-26
相关资源
最近更新 更多