IT/development

[JavaScript] javascript ๋™์  ์—˜๋ฆฌ๋จผํŠธ์— feather ์•„์ด์ฝ˜ ์ถ”๊ฐ€

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2022. 12. 2.

๋ชฉ์ฐจ

    ์˜ค๋Š˜๋„ ์—ญ์‹œ ๋ฏธ๋ž˜์˜ ๋‚ด๊ฐ€ ๋ณด๊ธฐ ์œ„ํ•ด ๊ธฐ๋ก์„ ๋‚จ๊ธด๋‹ค.

    ๋™์  ์—˜๋ฆฌ๋จผํŠธ์— feather ์•„์ด์ฝ˜ ์ถ”๊ฐ€ ๐Ÿ˜ƒ

    feather ์•„์ด์ฝ˜์€ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ด์„œ ์‚ฝ์งˆํ• ๊ฒŒ ์ „ํ˜€ ์•„๋‹ˆ์—ˆ๋Š”๋ฐ.. ์‚ฝ์งˆ์„ ์ข€ ํ–ˆ๋‹ค.

    ์šฐ์„  ์•„๋ž˜์ฒ˜๋Ÿผ feather.js๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ๋‹ค์Œ ๋งŒ๋“  ์—˜๋ฆฌ๋จผํŠธ์— data-feather๋ฅผ ๋ถ€์—ฌ ํ›„ script์—์„œ feather.replace()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์•„์ด์ฝ˜์ด ์ด์˜๊ฒŒ ์ƒ๊ธด๋‹ค.

    ๋ฌผ๋ก  ์•„์ด์ฝ˜์€ data-feather์— ํฌํ•จ๋œ ๊ฒƒ๋งŒ ๋œ๋‹ค.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<title>feather test</title>
    	<script  src="http://code.jquery.com/jquery-latest.min.js"></script>
    	<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
    </head>
    <body>
    	<div id="test-div">
    		<span id="feather-icon" data-feather="home" class="align-text-bottom"></span>
    		 home
    	</div>	
    <script>
    	feather.replace();
    </script>
    </body>
    </html>

    ๋™์  ์—˜๋ฆฌ๋จผํŠธ์— feather๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ์—” ์•„๋ž˜์ฒ˜๋Ÿผ ํ•˜๋ฉด ๋œ๋‹ค.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<title>feather test</title>
    	<script  src="http://code.jquery.com/jquery-latest.min.js"></script>
    	<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
    </head>
    <body>
    	<div id="test-div"></div>
    <script>	
    $(document).ready(function () {
    
    			let testFeather = "";
    				testFeather += '<span id="feather-icon" data-feather="home" class="align-text-bottom"></span>home';
    				$("#test-div").html(testFeather);                
    				feather.replace();
        });
     </script>		
    </body>
    </html>

     

    ๋‚ด ๊ฒฝ์šฐ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ํ•ด์„œ ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€ํ™˜๋˜์ง€ ์•Š์•˜์—ˆ๋‹ค.

    ๋‹น์—ฐํžˆ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๊ทธ๋ ค์ฃผ๋Š” ์Šคํฌ๋ฆฝํŠธ ๋ฒ”์œ„์•ˆ์—์„œ feather.replace()๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.

     

    reference: https://github.com/feathericons/feather/issues/758

     

    How to add feather icons to dynamic elements? · Issue #758 · feathericons/feather

    I have a code like: var resultsHtml = ''; results.forEach(function(res) { resultsHtml += '<li>' + '<a class="list-link" href="#">' + '<...

    github.com

    ๋Œ“๊ธ€