Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
Javascript jQuery模糊事件触发两次_Javascript_Jquery - Fatal编程技术网

Javascript jQuery模糊事件触发两次

Javascript jQuery模糊事件触发两次,javascript,jquery,Javascript,Jquery,我在我的一个项目中使用jQuery-1.4.4,我一直面临一个问题,即其中一个输入元素的模糊事件是触发器两次。请帮助我,下面给出了该功能 $(function () { $('.cardnumber').keyup(function () { //Need to call a function }).focus(function () { //Need to call a function }).blur(function () {

我在我的一个项目中使用jQuery-1.4.4,我一直面临一个问题,即其中一个输入元素的模糊事件是触发器两次。请帮助我,下面给出了该功能

$(function () {
    $('.cardnumber').keyup(function () {
        //Need to call a function
    }).focus(function () {
        //Need to call a function
    }).blur(function () {
        console.log('blur');
    });

    $('.cardnumber').focus().blur(); 
});
只需删除
$('cardnumber')。focus().blur()
是默认设置,它将在加载时触发,只需使用即可

$(function () {
    $('.cardnumber').keyup(function () {
        //Need to call a function
    }).focus(function () {
        //Need to call a function
    }).blur(function () {
        console.log('blur');
    });
});

它应该只在您在cardnumber中输入值后触发,如下面的演示中所示,
blur
只触发一次。因此,可以肯定地说,第二个触发器必须由另一段代码负责

导致问题的一种方式是,如果标记中有第二个
.cardnumber
元素。因此,请检查以确保您有一个,或者如果有更多,并且您希望只针对一个,然后使用:
$('.cardnumber').first().focus().blur()以第一个为目标。

另外,如注释中所述,请使用当前版本的jQuery

$(函数(){
$('.cardnumber').keyup(函数(){
//需要调用函数吗
}).focus(函数(){
//需要调用函数吗
}).blur(函数(){
console.log('blur');
});
$('.cardnumber').focus().blur();
});


首先,1.4.4非常过时,您不能更新吗?其次,为什么要立即引发
focus
blur
事件?您的CSS选择器
.cardnumber
指向一个CSS类,而不是一个元素。您是否有两个类为
cardnumber
的HTML元素?我认为你应该在你的问题中加入你的HTML。请参阅。是的,正如@Krumia所建议的,粘贴您的HTML。可能有两个元素具有
cardname
类。我可以在堆栈片段中复制此行为,其中
n
HTML元素具有CSS类
cardname
(和
console.log
执行
n
次)。不幸的是,如果我不知道你的确切密码,我就不能把它作为答案发布。无法创建JSFIDLE,因为它们不支持jQuery 1.4.4。@Krumia您可以在FIDLE中使用外部资源。如果您想回答以下问题,请使用此选项: