如果我有一個分配有onPaste事件的Reactjs輸入文本元素,我怎樣才能得到響應中的粘貼值?如何從Reactjs onPaste事件獲取粘貼值
此刻我在控制檯中得到的是一個SyntheticClipboardEvent,其所有屬性都爲null。我讀過console.log是一個異步檢查器,這就是爲什麼大多數值都是空的,因爲他們展望未來。
但是我想知道如何獲得價值。
乾杯
如果我有一個分配有onPaste事件的Reactjs輸入文本元素,我怎樣才能得到響應中的粘貼值?如何從Reactjs onPaste事件獲取粘貼值
此刻我在控制檯中得到的是一個SyntheticClipboardEvent,其所有屬性都爲null。我讀過console.log是一個異步檢查器,這就是爲什麼大多數值都是空的,因爲他們展望未來。
但是我想知道如何獲得價值。
乾杯
onPaste: function(e) {
console.log(e.clipboardData.getData('Text'));
},
的數據可以在clipboardData
中找到,和解析以串如下:
event.clipboardData.items[0].getAsString(text=>{
// do something
})
第一包括Facebook的數據傳遞模塊:
var DataTransfer = require('fbjs/lib/DataTransfer');
然後就可以做:
onPaste: function (evt) {
var data = new DataTransfer(evt.clipboardData);
var text = data.getText();
var html = data.getHTML();
var files = data.getFiles();
},
你歡迎)
https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
的格式爲Unicode字符串給出的數據的類型或格式, 通常由MIME類型給出。某些非MIME類型 的值是由於傳統原因(例如「文本」)而特殊設置的。
例如:
onPaste: function(e) {
console.log(e.clipboardData.getData('Text'));
console.log(e.clipboardData.getData('text/plain'));
console.log(e.clipboardData.getData('text/html'));
console.log(e.clipboardData.getData('text/rtf'));
console.log(e.clipboardData.getData('Url'));
console.log(e.clipboardData.getData('text/uri-list'));
console.log(e.clipboardData.getData('text/x-moz-url'));
}
時,我用這個,它給了我一個以上的值從剪貼板 – PositiveGuy