3

我创建了一个代码,其中 id 喜欢具有用户必须按 CTRL+V 的功能,然后当它按下时,它将加载该值。这是我的代码。请帮我。

我的代码一开始不起作用,但需要按两次 CTRL+V 才能在输入中显示输入的值。

请帮我。谢谢!

<?php
if($_GET["f"]==1){
echo $_GET["id_number"];
}
else{
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function () {
var isCtrl = false;
$(document).keyup(function (e) {
 if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
if(e.which == 17) isCtrl=true;
if(e.which == 86 && isCtrl == true) {
    document.getElementById('id_number').focus();
    document.getElementById('Button').click();
 }
});
});
</script>

<script type="text/javascript">
$(document).ready(function() {
$("#Button").click(function(){   
var id_number = document.getElementById('id_number');
$("#Content").html('<img src="http://tinyurl.com/7al6hv5">').load('1.php?f=1&id_number='+id_number.value+'');
});
});
</script>

<input type="text" onkeydown="this.select();" value="" id="id_number">
<input type="submit" value="Load" id="Button">
<div id="Content"></div>

<?php } ?>
4

1 回答 1

0

可能一开始元素还没有准备好,所以你可以试试

$(document).live('keyup',function (e) {
 if(e.which == 17) isCtrl=false;
}).live('keydown',function (e) {
if(e.which == 17) isCtrl=true;
if(e.which == 86 && isCtrl == true) {
    document.getElementById('id_number').focus();
    document.getElementById('Button').click();
 }
});
});

//edit

$("#Button").live('click',function(){   ...
于 2013-04-01T08:52:39.387 回答