相关疑难解决方法(0)

在输入类型="文本"中跟踪onchange类型的最佳方法?

根据我的经验,input type="text" onchange事件通常只在你离开(blur)控件之后才会发生.

有没有办法强制浏览器onchange每次textfield内容更改时触发?如果没有,那么"手动"追踪这个最优雅的方式是什么?

使用onkey*事件是不可靠的,因为您可以右键单击该字段并选择"粘贴",这将更改该字段而不需要任何键盘输入.

setTimeout唯一的方法吗?丑陋的:-)

html javascript forms

407
推荐指数
11
解决办法
45万
查看次数

val()不会在jQuery中触发change()

change当我用按钮更改其值时,我试图在文本框上触发事件,但它不起作用.检查这个小提琴.

如果您在文本框中键入内容并单击其他位置,change则会触发.但是,如果单击该按钮,文本框值将更改,但change不会触发.为什么?

jquery triggers

324
推荐指数
7
解决办法
22万
查看次数

<input>元素上的jQuery Change事件 - 保留以前值的任何方式?

我今天早上一直在寻找,我找不到任何简单的解决方案...基本上,我想捕获输入元素的变化,但也知道以前的值.

这是一个更改事件和最简单形式的输入元素.显然,我可以使用$(elem).val()来获取新值,但是我是否因为获得之前的值而缺少一个偷偷摸摸的方法?我没有在jQuery API中看到任何东西来执行此操作,但也许有人已经完成了这个并且有一些提示?

<script>
    $(document).ready(function(){
        $('#myInputElement').bind('change', function(){
            //var oldvalue = ???
            var newvalue = $(this).val();
        });
    });
</script>
<input id="myInputElement" type="text">
Run Code Online (Sandbox Code Playgroud)

我不反对编写我自己的解决方案,我只是想确保我不在这里重新创建轮子.

html javascript forms jquery events

75
推荐指数
3
解决办法
12万
查看次数

JS事件:在文本输入上挂钩值变化事件

我有一个文本输入,其内容由脚本而不是用户更改.所以我想在值发生变化时触发事件.我找不到合适的活动.我甚至在StackOverflow上发现了这个,但它不是我正在寻找的解决方案.

如何使用jQuery和文本输入使这个值设置如下:

myTextControl.value = someValue
Run Code Online (Sandbox Code Playgroud)

在这里,我想触发一个事件来查看新值.

javascript jquery events input

31
推荐指数
3
解决办法
4万
查看次数

<input>文本更改事件

是否有可以从<input type=text>(或contentEditable - 任何单行输入字段)元素中提取所有文本事件的库?

特别是,我需要知道文本何时被更改:

  • 打字(asdf,退格)
  • 剪切/粘贴
  • 关键的组合动作(例如ctrl + bksp或option + bksp删除前一个单词)
  • 拖放文字
  • 编辑菜单操作

最好是改变了什么(是否以及插入,删除或替换了哪些文本).

需要使用Chrome,Safari,Firefox 3 +,IE9 +.

javascript events text input

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

javascript使用MutationObserver来检测输入标记中的值更改

我想检测输入字段中文本/值的变化.所以我读了很多例子并尝试下面的代码.但它不起作用.这是小提琴预览.即使我用js代码改变值我想要检测到这些变化.

HTML

<input type="text" id="exNumber"/>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    // console.log('Mutation type: ' + mutation.type);
    if ( mutation.type == 'childList' ) {
      if (mutation.addedNodes.length >= 1) {
        if (mutation.addedNodes[0].nodeName != '#text') {
//        console.log('Added ' + mutation.addedNodes[0].tagName + ' tag.');
        }
      }
      else if (mutation.removedNodes.length >= 1) {
       // console.log('Removed ' + mutation.removedNodes[0].tagName + ' tag.')
      }
    }
     if (mutation.type == 'attributes') {
      console.log('Modified ' + mutation.attributeName + ' attribute.')
    }
        });   
}); …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

关于输入隐藏值变化的jQuery事件

我隐藏了这个输入:

<input id="j_idt26:myValue" type="hidden" name="j_idt26:myValue" value="0?100?">
Run Code Online (Sandbox Code Playgroud)

我想在第一次设置值时提醒"嘿",然后每次更改时.

我有这样的事情:

$(document).ready(function(){
    var $hello= $('[id$=myValue]');

    $hello.bind("change load", function(){
        alert('hey');
    });
});
Run Code Online (Sandbox Code Playgroud)

但没有任何东西出现.
如果你能帮忙
谢谢

jquery events event-handling

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

如何避免jQuery的keydown延迟?

目标:

当用户在文本框中键入字符时,会出现一个按钮.当用户使用退格键清除文本框但按住该键几秒钟时,立即隐藏按钮.

问题:

如果用户键入单个字符,并使用退格键将其删除 - 通过按住退格键几秒钟 - 隐藏按钮之前会有一段延迟.仅当用户只键入一个字符然后按住退格键而不放手时才会发生这种情况.如果用户输入多个字符,然后按住退格键直到文本框为空,则隐藏按钮没有延迟.

<input type="text" id="tbox"></text>
<button type="button" id="btn"  style="display:none;">push me</button>

$('#tbox').on('keydown keypress keyup',function(){
    if($('#tbox').val() !== '') {
        $('#btn').css({'display':'block'});
    } else {
        $('#btn').css({'display':'none'});
    }
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle:

http://jsfiddle.net/odkut0dh/

javascript jquery delayed-execution

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

jQuery文本字段值更改,绑定功能

有没有办法绑定jQuery中的文本字段的更改事件?IE每当值改变时,调用一些函数?我目前正在使用,keyup但并未触及所有情况,即右键单击并粘贴.

谢谢.

jquery

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

立即检测由JavaScript修改的&lt;input type =“ text”&gt;中的更改

当JavaScript修改输入类型=“ text”时,我想立即检测到它的变化。当用户手动更改它时,可以通过以下方式触发检测:

onchange="myfunction();" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();"
Run Code Online (Sandbox Code Playgroud)

我只是想不通这一点。

javascript

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

如何动态更改时检测输入的变化

如何在动态更改时检测输入值的更改.因为txt2上的更改清除了txt1中的值.我需要检测它已清除或更改.

Onchange不会这样做.

<input id="txt1" type="text" onchange="SetDefault();" onpaste="this.onchange();" oninput="this.onchange();">
<br>



<input id="txt2" type="text" onchange="SetDefaultSecond();" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">

<script>
function SetDefault(){
      alert("Change1");
    }

function SetDefaultSecond(){
      $("#txt1").val('');
       alert("Change2");
}
</script>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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