捕获onPaste并将事件传递给函数javascript/jQuery
这似乎是一个非常愚蠢的问题,但我似乎不知道如何捕获捕获onPaste并将事件传递给函数javascript/jQuery,javascript,jquery,Javascript,Jquery,这似乎是一个非常愚蠢的问题,但我似乎不知道如何捕获onPaste事件,并将其传递给要处理的函数 $("input").on({ 'paste': function getdata(e) { var value = getdata(); alert("you pasted" + value); }, 'keyup': function getdata(e) { var value = getdata(); alert("you pasted" + valu
onPaste
事件,并将其传递给要处理的函数
$("input").on({
'paste': function getdata(e) {
var value = getdata();
alert("you pasted" + value);
},
'keyup': function getdata(e) {
var value = getdata();
alert("you pasted" + value);
}
});
function getdata(e) {
if(window.clipboardData && window.clipboardData.getData) {
value = window.clipboardData.getData('Text');
} else if (e.originalEvent.clipboardData && e.originalEvent.clipboardData.getData) {
value = e.originalEvent.clipboardData.getData('text/plain');
}
return value;
}
您的问题是,您为事件处理程序指定了一个名称:
$("input").on({
'paste': function getdata(e) {
var value = getdata();
alert("you pasted" + value);
....
});
您已经调用了事件处理程序getdata
。当您在函数中调用getdata()
时,它将再次运行事件处理程序。这显然会导致无限循环
删除命名函数表达式:
$("input").on({
'paste': function (e) {
var value = getdata(e);
alert("you pasted" + value);
....
});
对代码的另外两个更正
首先,在getdata
中不定义value
。您需要使用var值启动函数代码>
其次,不将事件传递给getdata
。您需要使用getdata(e)
调用它
显示您的代码工作正常。刚刚了解了有关将地图传递到#on!