标签: onkeyup

Javascript中的即时搜索功能

我使用以下javascript作为我的即时搜索功能(以检测访问者何时停止写入,因此该功能不会在每个单独的键盘上运行).

它工作但它延迟超过1000毫秒.即使我将其设置为200毫秒,它也会在即时搜索功能运行之前延迟1-2秒.

是否有更好/更快的方法来检测访问者何时停止输入输入(如果这有任何区别,我只需要它用于Internet Explorer).

$(document).ready(function(){

var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();

$('input').keyup(function() {
delay(function(){
//instant search function here
}, 1000 );
});

});
Run Code Online (Sandbox Code Playgroud)

新想法:当我想到它时,问题是当函数运行时我无法继续在输入字段中写入.任何解决方案,我将不需要任何延迟功能.

javascript input delay onkeyup

2
推荐指数
1
解决办法
4332
查看次数

在Python中显示来自用户的keyup上的先前输入?

我有一个简单的Python程序,它使用read-eval-print循环来读取用户输入raw_input,然后将内容打印到屏幕上.我希望保留以前输入的历史记录,并在用户按下keyup或keydown时循环显示它们,类似于Python解释器或bash shell.我怎么能用Python做到这一点?

有人要求提供示例代码:

while True:
    user_input = raw_input()
    print user_input + " this many hats!!!"
Run Code Online (Sandbox Code Playgroud)

我想这样做,所以一个keyup将最后一行输入放在命令行上.给出的第一个答案,使用该readline模块,可能是最好的.

python shell input onkeyup

2
推荐指数
1
解决办法
783
查看次数

更改密钥的输入值

我的页面中有一个输入框,我想在"keyup"事件中更改其值(按键也适用于我).问题是,每次设置输入值时,输入都会变为空白!

这是我的HTML:

<input id="time" type="number" />
Run Code Online (Sandbox Code Playgroud)

和javascript:

$('#time').keyup(function (e) {

        var key = e.keyCode;    
        var itime = $("#time");

        if (itime.val().length == 2) {
            var text = itime.val() + ":";
            $("#time").val(text);
        }
 })
Run Code Online (Sandbox Code Playgroud)

我想要的是自动将":"字符附加到我在两次笔画后输入的内容中.

我想实现像蒙面输入插件这样的东西,但很明显没有它.

javascript jquery input onkeyup

2
推荐指数
1
解决办法
1744
查看次数

HTML表单文本onkeyup

此代码会将框中用户键入的任何内容更改为大写,并在框中显示结果.

<html>
<head>
<script type="text/javascript">
function upperCase(x)
{
   var y=document.getElementById(x).value;
   document.getElementById(x).value=y.toUpperCase();
   document.getElementById("mySpan").value=y.toUpperCase();

}
</script>
</head>
<body>

Enter your name: <input type="text" id="fname" onkeyup="upperCase(this.id)">
<br/>
<span id="mySpan"></span>

</body> </html>
Run Code Online (Sandbox Code Playgroud)

但是我如何才能使它在文本框下显示呢?当用户输入时,大写文本显示在文本框下?

谢谢!

html javascript forms onkeyup

1
推荐指数
1
解决办法
9262
查看次数

当keyup事件(对于另一个键)被触发时,keydown(重复)会中断

这有点奇怪,所以我想我要么缺少一些明显的东西,要么就是这些事件在浏览器中实现的缺陷.

让我首先总结一个示例场景,在提供一个孤立的案例之前,这个问题就出现了;

箭头键用于移动播放器(因为只要在页面的任何位置按键,就会触发handleKeyDown函数).同样,只要释放一个键,就会触发另一个函数(handleKeyUp).

当你(玩家)按住左键时,handleKeyDown函数会被重复触发(我认为我认为这会违背你的期望和名称所暗示的内容,但是,尽管如此,这是所有浏览器的正常行为,因为我确定你懂).

所以这就是发生的事情:玩家有朝这个方向行走的方向; 然后他们按下一个数字键(对于热键项目),他们继续走路,同时按住方向.这里发生的是当您释放热键项目的数字键时,玩家移动的重复就会停止!

我写了一个非常小的这种行为的例子:

<html>
<head>
    <script type='text/javascript' src='jquery-1.5.1.min.js'></script>
    <script type='text/javascript'>
        var log = {};
        var keyState = {};
        var keyCount = {'down': 0, 'up': 0};
        window.addEventListener('keydown', handleKeyDown, false);
        window.addEventListener('keyup', handleKeyUp, false);
        function handleKeyDown (e)
            {
            keyState[e.keyCode] = true;
            keyCount.down++;
            log.prepend(" ["+e.keyCode+"] ");
            return false;
            }
        function handleKeyUp (e)
            {
            keyState[e.keyCode] = false;
            keyCount.down++;
            return true;
            }
        $(function(){log = $('#log');});
    </script>
</head>
<body>
    <div id='debug'></div>
    <div id='log'></div>
</body>
Run Code Online (Sandbox Code Playgroud)

你也可以在这里试试:

http://sikosoft.net/keys.html

按页面上的任意键,您将看到页面上出现keyCode.按住键时,键码会一遍又一遍地重复.

当初始键仍然被按住时,按下另一个键时,该行为变得古怪.在释放该最近的密钥时,重复从第一个密钥停止.有趣的是,如果您尝试该示例并按住一个键,然后按住第二个键,但不是释放第二个键,而是释放第一个键:第二个键继续重复.

所以似乎继续发生的是,当keyup事件被触发时,它似乎终止了在早期键上触发的keydown事件中的重复.

我尝试了各种各样的事情,包括在事件处理函数中使用返回false,返回true,尝试按键而不是keydown,保存键状态并在按钮的keystate仍然为true时继续移动,但是这一切都归结为为什么当键盘被触发时,任何主动传播的keydown事件都被杀死.我读过JavaScript疯狂:键盘事件,我没有看到任何关于这种特定行为的内容.

这是关键事件实施的设计缺陷,还是我遗漏了什么?我在Chrome,IE和Firefox中观察到了同样的行为. …

javascript events keypress keydown onkeyup

1
推荐指数
1
解决办法
3313
查看次数

c#使用tabcontrol禁用箭头导航

我的表单中有一个 tabcontrol,我需要使用 keyup 事件来管理一些东西。

当我按向左或向右按​​钮时,标签页会发生变化,我希望禁用 tabcontrol 键盘导航。

有可能做到这一点吗?

c# tabcontrol visual-studio-2008 winforms onkeyup

1
推荐指数
1
解决办法
5800
查看次数

'keyup'上的jQuery在AJAX请求后不再工作

我有一个购物车应用程序,它将使用以下updateCart()函数使用AJAX请求"即时"更改页面上的购物车价格 - 它调用render_cart()函数以使用以下方式显示购物篮中的每个商品'keyup'事件.

出于某种原因,它在初始键盘按下时工作正常 - 但是如果我再次尝试这样做它就不起作用,即使我可以在输入字段上看到.cart-qty类,有人可以建议为什么会发生这种情况吗?

// on keyup event call the update cart function
$(".cart-qty").on('keyup',function( e ) {    
    var qty = $(this).val(); // e.g '2' 
    var rowid = $(this).data("rowid"); // e.g 740fdjhirtj3swnjf463

    $( ".basket-item" ).remove();
    updateCart( qty, rowid );

} );

function updateCart( qty, rowid ){
$.ajax({
        type: "POST",
        url: "/cart/ajax_add_item",
        data: { rowid: rowid, qty: qty },
        dataType: 'json',
        success: function(data){                
            render_cart(data);
        }           
    });
}

function render_cart(json) {

total = json.total;
cart = json.contents;

var html = ''; …
Run Code Online (Sandbox Code Playgroud)

ajax jquery json onkeyup

1
推荐指数
1
解决办法
3278
查看次数

我想在html中使用addeventlistener而不是onkeyup

<center><h14>for typing help<a href="help.html"> click here</a></h14></center>

<td valign="top"><center>


//in this line I want to use addEvent instead of onkeyup

<textarea id="ta_in" rows="7" cols="42" onkeyup="get_ml()"></textarea>

<br>

<textarea id="ta_out" rows=7" cols="42"></textarea></center>

</td>
Run Code Online (Sandbox Code Playgroud)

html javascript addeventlistener onkeyup keyup

1
推荐指数
1
解决办法
1万
查看次数

当用户停止或暂停输入时,只调用一次 onkeyup 下的方法

我有一个实时搜索方法,可以在您在文本框中键入时进行搜索。它使用的服务需要很长时间,因此我决定仅在用户暂停或停止输入 n 秒(例如 0.5 秒)时调用搜索服务。在这样做的同时

j$132('#AdvanceSearch table:first input').unbind('keyup').keyup(function () {
    window.setTimeout(function () {
        LoadAdvanceSearch();
    }, 500);
});
Run Code Online (Sandbox Code Playgroud)

它等待 500 毫秒,这很好,但是对于每个键,它等待然后发送另一个服务调用。

是否有一个技巧,在 onkeyup 下它只在用户完成输入时调用该方法一次。

javascript jquery onchange onkeyup jquery-events

1
推荐指数
1
解决办法
1038
查看次数

ESC键无法删除模态javascript

我正在尝试使用键盘 ESC 键来转义模态框(通过使用纯 JavaScript 将其删除),但看起来好像出了点问题。

代码来自 W3SCHOOL 示例: W3school 示例

这是当人们按下键盘 ESC 键时我试图添加的代码以进行转义:

  document.addEventListener('keyup', function(event) {
    if (event.keyCode === 27) {
      modal.classList.remove('modal');
    }
  });
Run Code Online (Sandbox Code Playgroud)

片段:

  document.addEventListener('keyup', function(event) {
    if (event.keyCode === 27) {
      modal.classList.remove('modal');
    }
  });
Run Code Online (Sandbox Code Playgroud)
// Get the modal
var modal = document.getElementById('myModal');

// Get the image and insert it inside the modal - use its "alt" text as a caption
var img = document.getElementById('myImg');
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
img.onclick = function(){
    modal.style.display = "block"; …
Run Code Online (Sandbox Code Playgroud)

javascript onkeyup keyup

1
推荐指数
1
解决办法
653
查看次数