Events 传递数据的Jquery触发器不使用on和blur

Events 传递数据的Jquery触发器不使用on和blur,events,selector,jquery,eventtrigger,Events,Selector,Jquery,Eventtrigger,我不知道为什么模糊方法在使用on和选择器时不接收传递的数据 这是代码,只需输入任何内容,然后按tab键,您将看到isTab参数没有被设置。为什么? 小提琴: Html: JavaScript: var Container = $("#Container"); Container.on({ keydown : function(e){ var Item = $(this); console.log(e.keyCode); if(e.k

我不知道为什么模糊方法在使用on和选择器时不接收传递的数据

这是代码,只需输入任何内容,然后按tab键,您将看到isTab参数没有被设置。为什么?

小提琴:

Html:


JavaScript:

var Container = $("#Container");
Container.on({
    keydown : function(e){
        var Item = $(this);

        console.log(e.keyCode);
        if(e.keyCode == 9) {
            Item.trigger("blur",[true]);
            return false;
        }
    },
    blur : function(e, isTab)
    {
        console.log("IsTab:" + isTab);
    }},".Item");

for(var i = 0 ; i < 10 ; i++)
{
    Container.append("<input class='Item'/>");
    Container.append("<br/>");
}
var Container=$(“#Container”);
集装箱码头({
向下键:功能(e){
var项目=$(此项);
console.log(例如keyCode);
如果(e.keyCode==9){
项。触发器(“模糊”,“真”);
返回false;
}
},
模糊:功能(e、isTab)
{
控制台日志(“IsTab:+IsTab”);
}},“.Item”);
对于(变量i=0;i<10;i++)
{
容器。附加(“”);
容器。追加(“
”); }
系统生成的
blur
事件只有一个参数,而不是两个。没有任何
isTab
参数以系统创建该事件的正常方式传递给该事件处理程序。你可以在照片上看到

如果将手动触发事件的事件名称更改为非正常的
blur
事件,并修复在
.trigger()
中传递参数的方式,则额外的参数将起作用。更改此选项,您将看到额外的参数:

Container.on({
    keydown : function(e){
        var Item = $(this);

        console.log(e.keyCode);
        if(e.keyCode == 9) {
            console.log("aaa");
            Item.trigger("myEvent", true);   // Changed event name and fixed the syntax in this line
            return false;
        }
    },
    myEvent : function(e, isTab)             // Changed event name here
    {
        console.log("IsTab:" + isTab);
    }},".Item");

此处演示:

因此,如果我想向模糊事件传递一个额外的参数,这是不可能的?您可以,但不能从出现的keydown事件中进行。我还不太明白为什么。如果将触发代码一起删除,则不会触发模糊事件,这导致我希望参数能够通过,但事实并非如此。活动代表团也与这个问题无关。这真的很奇怪!!。。。触发器可以完美地完成按键按下事件!。。。但是为什么呢?相同的代码和工作方式不同。你知道为什么吗?
Container.on({
    keydown : function(e){
        var Item = $(this);

        console.log(e.keyCode);
        if(e.keyCode == 9) {
            console.log("aaa");
            Item.trigger("myEvent", true);   // Changed event name and fixed the syntax in this line
            return false;
        }
    },
    myEvent : function(e, isTab)             // Changed event name here
    {
        console.log("IsTab:" + isTab);
    }},".Item");