LINEのデフォルトと同じように、Enterを入力したときは改行が行われ、送信ボタンを押すと送信されるようにしたいのです。wisechatを使い慣れているので、ソースコードを変更して簡単に実現できるならそうしたいですが、難しければ、そういう仕様の別のプラグインに変えても良いと思っています。
CG
(@du-bist-der-lenz)
「使い慣れているので」すから、継続して使っていいでしょう。
インタフェイスが使い勝手良いのでしょうか。それはわたしが判断できることではないですし、「LINEのデフォルトと同じように、Enterを入力したときは改行が行われ、送信ボタンを押すと送信されるように」するのも技術上のことなので、参考にする対象としてあるので、子プラグインを作って、Enterキーを押すと送信されないように、送信ボタンを書き換えるか、jsでEnterキーを無効化するあたりから試みることになるでしょう。しかしそれが、難しいかどうか、わたしが判断するのは失礼なことではないですか。
そういう仕様の別のプラグインが選択肢にあるのなら、それでも良いでしょう。
プラグインのコードを変更することなく、対応するのはちょっと面倒そうです。
プラグインのサポートページで要望をあげてみるのもいいかもしれません。
https://wordpress.org/support/plugin/wise-chat/
ソースコードをいじらなければならないのかもしれませんが、どうしたらよいか分かりません。
プラグインのコードを直接変更することは、おすすめはしませんが、下記のように変更すると出来るかもしれません。
wise-chat/js/ui/messages.js:
function onInputKeyPress(e) {
if (e.which == 13) {
if (e.shiftKey) {
(省略)
} else {
sendMessage();
}
}
};
↓
function onInputKeyPress(e) {
if (e.which == 13) {
//if (e.shiftKey) {
(省略)
//} else {
// sendMessage();
//}
}
};
こんにちは
苦肉の策満開ですが、以下のようにすればプラグインを編集せずにすみます。
wp_enqueue_script('disable_enter', '/js/disable_enter.js', array('jquery', 'wise_chat_messages'));
などで、以下の js ファイルを読み込ませます。
■ disable_enter.js
jQuery(function ($) {
$('input.wcInput').on('keypress', disable_enter)
});
function disable_enter(e) {
jQuery('input.wcInput').off('keypress');
jQuery('input.wcInput').on('keypress', disable_enter);
if (e.which == 13) {
if (e.shiftKey) {
if (!isMessageMultiline) {
switchToMultiline();
}
fitMultilineTextInput();
// move cusor to the end:
if (!isMessageMultiline) {
messagesInput.focus();
var text = messagesInput.val();
messagesInput.val('');
messagesInput.val(text);
messagesInput.focus();
}
} else {
// sendMessage();
}
}
}
皆様、ご親切にご教示くださり誠に有難うございます。当方wordpressをツールとして使用しており、コーディングを深く理解する余裕もなかったので、大変助かります。近々、改修を実行してみたいと思います。