1
入力ボックスにテキストを書き込むときに、一重引用符と二重引用符を自動的に削除するjQuery関数を記述しました。 Firefoxではすべてがうまくいくが、Chromeでは、テキストの先頭に何かを追加したい場合は許可されない。カーソルは常に入力値の最後に位置するためです。私はそれをどのように修正するかわかりません。変更Chromeの入力値の末尾にカーソルの位置が異常にあります
$.fn.removeQuotes = function()
{
var elem = $(this);
elem.bind("focus propertychange change click keyup input paste", function(event)
{
// store current positions in variables
var start = this.selectionStart,
end = this.selectionEnd;
setTimeout(function()
{
elem.val(elem.val().replace(/['"]/g, ""));
}, 1);
// restore from variables...
this.setSelectionRange(start, end);
});
};
しかし、何も:コメントの後、私はこれを試してみました:
$.fn.removeQuotes = function()
{
var elem = $(this);
elem.bind("focus propertychange change click keyup input paste", function(event)
{
setTimeout(function()
{
elem.val(elem.val().replace(/['"]/g, ""));
}, 1);
});
};
編集:ここに私のコードです。
重複:http://stackoverflow.com/questions/14508707/updating-an-inputs-value-without-losing-cursor-positionは – code4pi
私は上記の解決策はおそらく正しいと思います。これがあなたが話していることを確認できますか? – Dale