在我的示例中,我想要两个单独的事件处理程序,用于键入数据和粘贴数据。我面临的问题是,粘贴val newRDD: RDD[(Int, (Int, Int))] = rdd1
.flatMap { case (k, values) => values.map(v => (k, v))}
事件处理程序的每个数据也会触发。如何停止?
代码:
keyup
$(".inp-txt").on('keyup', function() {
console.log("Handler for on keyup is called");
});
$(".inp-txt").on('paste', function() {
console.log("Handler for on paste is called.");
});
能否请您使用香草JavaScript和jQuery提供解决方案?
答案 0 :(得分:1)
这可能对您有用。
=$B1="error"
答案 1 :(得分:1)
在甚至Keyup处理程序中,您可以检查键代码并确定它是否适用于ctrl + v
,然后跳过内部代码执行,它将仅执行粘贴事件代码。这是可以解决的,因为我们不能只绑定过去的事件,而不能绑定键。
注意:我已经设置逻辑来检查是否在v之前按下了控制键,但是如果用户先按下Control键然后放下主意以粘贴并尝试按下v,则此操作将无效。
var isCtrl = false;
$(".inp-txt").bind('keyup', function(e) {
//console.log(e.keyCode);
//console.log(e.ctrlKey);
if (e.ctrlKey) {
isCtrl = true;
} else if(isCtrl && e.keyCode == 17) {
isCtrl = false;
} else {
isCtrl = false;
console.log("Handler for keyup bind is called");
}
});
$(".inp-txt").bind('paste', function() {
console.log("Handler for paste bind is called.");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="inp-txt">