問題タブ [clipboarddata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - クリップボードのExcelデータをjavascriptのオブジェクトとして変換
JavaScript でクリップボード経由でコピーした Excel データにアクセスしようとしています。プレーン テキストまたは text/html の形式で getData のオプションを見つけました。
1 つの関連配列として作成する必要がある場合、データを text/html またはプレーン テキストとしてループおよび解析することが唯一のオプションですか?
Ex- コピーされた Excel データの期待される出力オブジェクトは、
これは、クリップボードのデータにアクセスするために使用しているコードです
javascript - Firefoxの貼り付けイベントでのJavaScriptフィルターの数字以外
があり、<input type="number" />
数字以外の文字が入力されないようにしたいです。
通常のキー押下を防ぐために、これを行うことができます
あとは、数字以外の文字の貼り付けを防止するか、理想的には数字以外の文字を除外するだけです。
これは Chrome/Webkit で機能します。 ただし、Firefox では、次のエラーがスローされますsetData()
。
NoModificationAllowedError: このドキュメントの変更は許可されていません
呼び出しを許可するようにブラウザに指示する方法についてのアイデアはありますsetData()
か?
そのような方法が存在しない場合、フィルター処理された値を手動でinput
右のカーソル位置に「貼り付ける」方法はありますか (存在する場合は選択したテキストを置き換える) 、非表示を使用しtextarea
ませんか? input
テキストが選択されているかどうかに関係なく、要素内のカーソルの位置を検出できません。myInput.selectionStart
は常にnull
。
編集
実際、呼び出しsetData()
は Chrome では機能しないことがわかりました。「e」、「-」、および「.」を除くnumber
非数値文字を自動的に除外するようにタイプを設定し、テストしていた文字列には、これらの文字が含まれていませんでした。呼び出しは単にサイレントに失敗します。setData()