Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在IE中的占位符上激发jQuery输入事件_Jquery_Html_Internet Explorer_Input_Placeholder - Fatal编程技术网

在IE中的占位符上激发jQuery输入事件

在IE中的占位符上激发jQuery输入事件,jquery,html,internet-explorer,input,placeholder,Jquery,Html,Internet Explorer,Input,Placeholder,我有一个带有input事件绑定的输入字段(通过jQuery)。每次输入值更改时都应触发此事件。我添加了一个占位符来告诉用户这个输入字段的用途 如果用户单击此输入字段,则不应触发input事件(该值实际上不会更改;只是占位符消失)。它在Firefox或Chrome中运行良好,但在IE中不起作用 我怎样才能避免这种行为 为了更好地理解我在上遇到的问题,一种预防问题的方法是存储字段的旧值,并在执行要在输入处理程序中执行的实际函数之前进行检查。这就是我在一个应用程序中修复它的方式 例如: $(docum

我有一个带有
input
事件绑定的输入字段(通过jQuery)。每次输入值更改时都应触发此事件。我添加了一个占位符来告诉用户这个输入字段的用途

如果用户单击此输入字段,则不应触发
input
事件(该值实际上不会更改;只是占位符消失)。它在Firefox或Chrome中运行良好,但在IE中不起作用

我怎样才能避免这种行为


为了更好地理解我在

上遇到的问题,一种预防问题的方法是存储字段的旧值,并在执行要在
输入
处理程序中执行的实际函数之前进行检查。这就是我在一个应用程序中修复它的方式

例如:

$(document).ready(function () {
    var $input = $("#input");
    var $msg = $("#msg");
    var old_value = $input.val();
    $input.on("input", function () {
        var new_value = $input.val();
        if (new_value !== old_value) {
            // The actual work we want to perform when the field *really* changes.
            $msg.text(new_value.length);
            old_value = new_value;
        }
    });
});

这会阻止在字段未更改时执行操作。

尝试将其添加到输入事件:

if($(this).val() == $(this).get(0).defaultValue) return;

在哪个版本的IE中会发生这种情况?@OLRAC在运行Windows 8的IE10中这么说你的问题是占位符-我认为这个链接会帮助你。这是IE10/11的一个错误:如何防止输入事件阻止其他事件?我有一个点击竞价的链接,该链接被此输入事件停止:(用户抱怨他们必须在IE中单击两次,而在其他浏览器中它工作正常。@我从未遇到过忽略单击的问题。答案中的代码所做的只是监听
输入
事件,这对
单击
事件的处理方式没有影响。听起来你可能有关于n的材料ew问题。@Louis yepp,我将创建一个问题