[ 新規に投稿する ]

レンダリング枠に表示された数字をクリックして、エディタ枠でNo.41956
ひらひら さん 25/05/27 11:34 [ コメントを投稿する ]
  レンダリング枠に数字を表示して、その数字をクリックするとエディター枠でその数字の行目にカーソルをジャンプするコードを作成したいと考えています。

以下のようなコードを作成してみたところ、カーソルは10行目にジャンプしているようなのですがジャンプした後カーソルが点滅しなくなってしまうようです。

カーソルが点滅するようにする方法はありますでしょうか?

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

hidemaruversion "9.39.05";
jsmode "WebView2";

js {
    function clickJump(jump){
        moveto(0,Number(jump));
    }
    var idCallback=hidemaru.getFunctionId(clickJump);

    renderpanecommand({
        target: "MyMessagePanel",
        place: "left",
        size: 200,
        show: 1,
        url: `data: text/html;charset=utf-8,<head></head><body><title>クリックジャンプ</title><div class="click-jump">10</div><script>var div_list = document.querySelectorAll(".click-jump"); document.querySelector(".click-jump").addEventListener("click", function (e) {  window.chrome.webview.postMessage({funcid:${idCallback}, message:e.target.innerText}); }); </script></body>`
    });
}

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
[ ]
RE:41956 レンダリング枠に表示された数字をクリックして、エデNo.41962
秀丸担当 さん 25/05/27 16:14 [ コメントを投稿する ]
  試してみたところ、カーソルが点滅しないのは、入力フォーカスが編集エリアに無いためと思われます。
以下のようにして、フォーカスを与えるといいです。
 moveto(0,Number(jump));
 setfocus(1);
ちなみにコールバックのidを更新する必要があるので、マクロを編集するだけでは反映されなくて、マクロを再実行する必要があります。
[ ]
RE:41962 レンダリング枠に表示された数字をクリックして、エデNo.41967
ひらひら さん 25/05/27 17:57 [ コメントを投稿する ]
  ご教授頂きありがとうございます。
想定通りの動作になりました!
[ ]

[ 新規に投稿する ]