#chiroruLab

趣味と日々の雑記録

Textwellのアクションでタイトルの変更が出来ない時の対処法。

Textwellのサポートに教えて頂きました。本当に有難うございました。
また今回の問題は次回のアップデートで対処してくれるそうです。

今回起きている問題

・TextExpanderが有効になっていると、タイトルの変更などがキャンセルされてしまう。

原因

・TextExpanderの入力監視用リクエストによって、Textwellのタイトル変更リクエストをキャンセルしてしまうため。
(簡単にまとめるとこんな感じ。メールではもっと丁寧に詳しく教えてもらいましたよ!)

対処法

以下、メール引用:

この問題については Textwell の次のアップデートで対処しますが、暫定的に、以下の方法で問題を回避できそうです。

input 要素や textarea 要素に対するイベント(focus, change, keydown...)をトリガーに T()/T.title()/T.closelets()/T.translucent()/T.setData() 関数を実行する場合は、setTimeout() を使う。
setTimoout() の第二引数(ディレイ値)は0でよい。

サンプル

Textwellを上下の二画面に割って編集する Twin - W&R : Jazzと読書の日々
マネしてみました。Textwellのアクションにはデジャヴがある。chiroru氏のDualWindowも何だか懐かしく感じます。知ってる人しか知らないと思いますが、MS-DOSのVz-Editorに...
今回は例としてwinerosesさんのTwinを使用しています。

// 変更前
T.title("Twin: "+nowEdit);

// 変更後
setTimeout( function() { T.title( "Twin: " + nowEdit ); }, 0 );

これで暫定的に問題の回避は可能となります。
もしこの問題で悩んでいる方は試してみて下さい。参考になれば幸いです。