我嘗試了這個簡單的代碼,該代碼在第一次檢測到右鍵單擊時應該將焦點移到另一個文本框,以便任何後續的paste
事件都會使文本被粘貼到第二個框中:粘貼事件在Opera 11和更低版本中無法正常工作
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#real").bind("contextmenu",function() {
$("#paste").focus();
});
});
</script>
</head>
<body>
<input type = 'text' sh = '0' right = '0' id = 'real' />
<input type = 'text' id = 'paste' />
<p>Dummy</p>
</html>
在Opera上面的版本12中,它工作正常。但是,在11和更低版本中,即使焦點移動到右鍵單擊第一個文本框時,粘貼事件將粘貼第一個文本框中的文本(焦點將立即移到第二個文本框,擁有)。我試圖用setTimeout(function() { $("#paste").focus(); },0);
替換代碼,但錯誤依然存在。
誰能告訴我我該如何解決這個問題,以便將文本粘貼到第二個文本框中? (一檢測mouseup
,檢查它是否是一個正確的點擊通過event.which
,如果是的話,轉移焦點 - 是啊,我這樣做太,一樣的結果!)
待辦事項你真的需要支持Opera 11嗎?它快速消失。 – Bergi 2013-03-12 17:55:24
是的,老式的客戶.. :( – SexyBeast 2013-03-12 17:56:04
我不明白你的要求的全部範圍在這裏。你想讓它有可能輸入到'真正'的盒子,但如果有東西被粘貼,它應該進入'paste'box?或者是否所有輸入'real'都輸入'paste'?爲什麼你首先有兩個盒子? – hallvors 2013-03-18 15:02:59