Events 传递数据的Jquery触发器不使用on和blur
我不知道为什么模糊方法在使用on和选择器时不接收传递的数据 这是代码,只需输入任何内容,然后按tab键,您将看到isTab参数没有被设置。为什么? 小提琴: Html: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
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");