【问题标题】:javascript how to fire change or input event in paste event handlerjavascript如何在粘贴事件处理程序中触发更改或输入事件
【发布时间】:2014-08-23 03:57:34
【问题描述】:

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

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

【问题讨论】:

  • 使用 $(e.target) ex. 选择事件目标元素。 $(e.target).css('background-color','red');

标签: javascript events onchange paste


【解决方案1】:

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

【讨论】:

  • 对不起,我在提问之前测试过这个问题没有工作
  • $(e.target).change();怎么样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2017-08-27
  • 1970-01-01
  • 2013-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多