채택완료

버튼누르면 Textarea에 메크로가 자동으로 붙기

2023-04-03 (월) 10:34:34 1,722

1403779626_1680485668.3283.jpg

Copy
<?php if ($option) { ?>
    <div class="write_div">
        <span class="sound_only">옵션</span>
        <ul class="bo_v_option">
            <?=$option ?>
            <li id='addcoding'> <p onclick="addCode()"> 코드 추가하기 </p> </li>    
        </ul>
    </div>
    <?php } ?>

    <script>
        function addCode(){
            var textarea = document.getElementById('wr_content');
            var content = textarea.value;
            content += '<code>\n\n</code>'; // 자바스크립트에서 Enter 를 추가시키는 방법
            textarea.value = content;
            textarea.focus(); // 커서를 추가된 코드의 가운데 줄로 이동시킴
            textarea.setSelectionRange(textarea.value.length - 8, textarea.value.length - 8); // 코드 내용 입력할 위치로 커서를 이동시킴
        }
    </script>
    <style>
        #addcoding {
            background: yellow;
            cursor: pointer;
        }
    </style>
 

위 내용처럼 코딩했더니 아주 편한게 잘 됩니다. 

그런데 문제는 DHTML 에디터를 사용하면 적용되질 않네요. 

혹시 어떻게 해야 되는지 아시나요?

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트
2023-04-03 (월) 15:15:04

이렇게 하시면 됩니다. 쉬었다가 하려니 검색하게 되네요

Copy
<script type="text/javascript">
function insert_code()
{
    var target_iframe = $('#wr_content').nextAll('iframe:first').get(0);

    var inner_iframe = $(target_iframe.contentDocument).find('iframe:first').get(0);
    var target_body = $(inner_iframe.contentDocument).find('body:first').get(0);

    $(target_body).html($(target_body).html() + "<p><code><br /></code></p>");
}
</script>
<a href="javascript:void();" onclick="insert_code();">code 추가</a>

답변에 대한 댓글 1개

이거 작동하나요? 저는 작동안하네요.
2023-04-05 (수) 06:43:23

앗 태그가 걸려 있군요

Copy
<script type="text/javascript">
function insert_code()
{
    var target_iframe = $('#wr_content').nextAll('iframe:first').get(0);
    var inner_iframe = $(target_iframe.contentDocument).find('iframe:first').get(0);
    var target_body = $(inner_iframe.contentDocument).find('body:first').get(0);
    $(target_body).html("<p>[ code ]<br />[ /code ]</p>");
}
</script>
<a href="javascript:insert_code();" >code 추가</a>

<p>[ code ]<br />[ /code ]</p>

공백 제거하시면 됩니다

답변을 작성하려면 로그인이 필요합니다.