JQuery Plugin - 突出显示包含某个单词的内容可编辑框

Posted

技术标签:

【中文标题】JQuery Plugin - 突出显示包含某个单词的内容可编辑框【英文标题】:JQuery Plugin - Highlighting a content editable box that contains a certain word 【发布时间】:2021-06-14 09:50:51 【问题描述】:

这里是 html/CSS - https://jsfiddle.net/toalhea/y6hns5tr/1/

我正在尝试为作业创建一个 jquery 插件,该插件将突出显示单词或包含单词“burger”的框。

我对 jquery 和 javascript 还很陌生,只是迷失了如何做到这一点。建议使用innerhtml 或innertext。任何帮助表示赞赏。

(function($) 

   $.fn.highlightword = function () 
      this.css( "background", "yellow" ); 
            
      
   

(jQuery));

【问题讨论】:

【参考方案1】:

$(document).ready(function() 
   $( "#sortable1, #sortable2, #sortable3" ).sortable(
      connectWith: "#sortable1, #sortable2, #sortable3",
   );
   $('[contentEditable="true"]').on('click', function () 
      $(this).focus();
      $(this).css("background-color", "yellow")
      $(this).blur(function() 
       $(this).css("background-color", "white")
      )
  );
);
.container 
    margin:auto;
    max-width: 1000px;

#sortable1, #sortable2, #sortable3 
    border: 1px solid #012361;
    width: 15%;
    min-height: 20px;
    list-style-type: none;
    padding: 5px 0 0 0;
    float: left;
  
#sortable1 li, #sortable2 li, #sortable3 li 
    margin: 0 5px 5px 5px;
    padding: 5px;
    font-size: 1.2em;
    width: 120px;
  

h2 
      display: inline;
      margin-right: 6em;
    
body 
    background-color: aliceblue;

#sortable 
  display: flex;
  flex-direction: column;

#sortable ul 
  width: 100%;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Menu-Sortable</title>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
        rel = "stylesheet">
        <script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
        <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
        <link rel="stylesheet" href="menu.css">
        <script src="js/jquery.highlight-word.js"></script>
        <script src="js/script.js"></script>
      </head>


    <body>
        <div class="container">
            <h1> Sort the menu items to their appropriate header or rename the items to fit the category.</h1>
            <h2>Appetizer</h2> <h2>Main Course</h2><h2>Dessert</h2> <br><br>
        <div id="sortable">
            <ul id="sortable1">
                <li contenteditable="true"> Mozzerella Sticks</li>
                <li contenteditable="true"> Brisket Nachos</li>
                <li contenteditable="true"> Quesadillas</li>
                <li contenteditable="true"> Salsa and Chips</li>
                <li contenteditable="true"> Queso and Chips</li>
                <li contenteditable="true"> Brisket Mac & Cheese</li>
            </ul> 

            <ul id="sortable2">
                <li contenteditable="true"> SouthWest Burger</li>
                <li contenteditable="true"> Hawaiian Burger<li>
                <li contenteditable="true"> Cannoli</li>
                <li contenteditable="true"> Beef Brisket Sandwhich</li>
                <li contenteditable="true"> Turkey Club Sandwhich</li>
                <li contenteditable="true"> Lemon Souffles</li>
            </ul> 

            <ul id="sortable3">
                <li contenteditable="true"> Wonton Tacos</li>
                <li contenteditable="true"> Molten Chocolate Lava Cake</li>
                <li contenteditable="true"> English Custard</li>
                <li contenteditable="true"> Queso Burger</li>
                <li contenteditable="true"> Chocolate Chip Panookies</li>
                <li contenteditable="true"> Frozen Hot Chocolate</li>
            </ul>
        </div>


        </div>
    </body>


</html>

【讨论】:

以上是关于JQuery Plugin - 突出显示包含某个单词的内容可编辑框的主要内容,如果未能解决你的问题,请参考以下文章

JQuery Validation Plugin - 如果用户选择任一单选按钮,则验证字段。

突出显示 jQuery.autocomplete 的多个关键字

使用 Javascript/JQuery 为移动网络(Android、iOS、Windows Phone)突出显示/选择元素上的文本

Elasticsearch 父子映射:同时搜索并突出显示

悬停在子菜单上后保持父菜单项突出显示(HTML/CSS/Jquery)

jQuery/jQueryUI Droppable 采用 Draggable 的形式