javascript如何在粘贴事件处理程序中触发更改或输入事件

时间:2014-08-23 03:57:34

标签: javascript events onchange paste

我覆盖了文档对象上的粘贴事件,现在我要在onchange事件的事件处理程序中触发oninputpaste和其他输入事件。

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");


});

如何为输入元素触发changeinputpropertychange事件?

这部分代码不起作用。

    $(e.srcElement).trigger("change");
    $(e.srcElement).trigger("input");
    $(e.srcElement).trigger("propertychange");

1 个答案:

答案 0 :(得分:0)

$(e.srcElement).change();会触发更改事件及其处理程序,但不确定inputpropertychange