レンダリング枠に表示された数字をクリッ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 = doc
ument.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
 
ご教授頂きありがとうございます。
想定通りの動作になりました!

[ ]