私のコンテキストメニュー(カスタムメニューを右クリック)をクリックすると、複数のケースが設定されています。以下のスニペットは、<li>...</li>
内のリンクを隠し、入力フィールドを追加するフォルダ(メニューli > a
値)の名前を変更するために設定されたスニペットです。JS/jQuery>追加されたImputのテキストをハイライト
$(document).ready(function() {
"use strict";
$(document).on('mousedown', function(e) {
if ($(e.target).parent().hasClass('custom-menu')) {
switch (action) {
case 'rename-folder':
anchor = clicked.find('a').first();
anchor.before($('<input />', {
type: 'text',
value: $(anchor).text(),
'class': 'FolderRenaming',
focusout: function() {
$(this).siblings('a').html($(this).val()).show();
$(this).remove();
$(anchor).parent().removeClass('clicked');
}
})).hide();
break;
}
}
}).on('keyup', 'input.rename', function(e) {
e.preventDefault();
if (e.keyCode === 13) {
$(e.target).focusout();
}
});
});
右クリックし、[名前を変更する]オプションを選択します。この入力フィールド内をクリックして、フィールドの入力または外部を押して、逆の処理を実行する必要があります。
名前を変更するにはどうすればいいですか?添付された<input>
内のテキストは強調表示されています。
私のスクリプト、何も起こりません。私は私のコードのスニペットを作成しようとしましたが、StackOverflowの人々は小規模のセクションと同じように多くの場合、フォークする必要があるようです。 –
私はちょっとしたスクリプトで質問を更新しました。それにはそれほど多くはありません。試してみて試してみてください。 –
ありがとうございます。あなたの問題は、クリックの代わりにmousedownイベントを使用しているためと思われます。 –