【发布时间】:2014-08-23 03:57:34
【问题描述】:
我覆盖了文档对象上的粘贴事件,现在我想在 paste 事件的事件处理程序中触发 onchange、oninput 和其他输入事件。
document.addEventListener('paste', function (e) {
e.preventDefault();
var copiedText = e.clipboardData.getData("text/plain");
if (e.srcElement.type === 'text' || e.srcElement.type === 'textarea') {
var startPosition = e.srcElement.selectionStart;
var endPosition = e.srcElement.selectionEnd;
var len = e.srcElement.value.length;
var sel = e.srcElement.value.substring(startPosition, endPosition);
e.srcElement.value = e.srcElement.value.substring(0, startPosition) + copiedText +
e.srcElement.value.substring(endPosition, len);
}
$(e.srcElement).trigger("change");
$(e.srcElement).trigger("input");
$(e.srcElement).trigger("propertychange");
});
如何为输入元素触发 change、input 或 propertychange 事件?
这部分代码不起作用。
$(e.srcElement).trigger("change");
$(e.srcElement).trigger("input");
$(e.srcElement).trigger("propertychange");
【问题讨论】:
-
使用 $(e.target) ex. 选择事件目标元素。 $(e.target).css('background-color','red');
标签: javascript events onchange paste