两个单独的点击事件对同一个按钮具有不同的功能?
Two separate click event having different functionality for same button?
我正在使用 requireJS 动态生成代码,并在需要时加载元素,
我有两个 javascript class 使用相同的 UI (html) 元素,
现在我想为同一个按钮绑定两个 classes 中的点击事件。
两个 classes 在按钮触发器中具有完全不同的功能
HTML代码
<div class='command-processor'>
<div class='left-control' id='left-control'>
<img src='images/options.png' class='ctrl-image'/>
</div>
<div class='controls'>
<span class="previous" id="previous"><</span>
<input type='text' name='text-control' id='text-control' />
<span class="next" id="next">></span>
<input type='button' id='send' value='send' />
</div>
<div class='right-control' id='right-control'>
<img src='images/options.png' class='ctrl-image'/>
</div>
</div>
JS代码
class1 = 查看
// some stuff
_data=$("#user-input").val();
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
f.sendData(_data,dest);
});
class2 = 字段
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
var data=[];
var item={};
if(this.fieldData)
{
for(i=0;i<this.fieldData.length;i++)
{
item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue;
}
data.push(item);
var _data = JSON.stringify(data);
f.sendData(_data,dest);
this.fieldData=null;
}
});
当 First Class View 加载到浏览器时,发送按钮的 class 单击事件运行良好,
并且第二个 class Field 被加载到浏览器,class 发送按钮的点击事件效果很好。
第一个 class 作品完成后,我正在加载第二个 class 我的时间 class..
在第二个 class 中,当发送按钮触发时,一旦其完成发送按钮功能执行完成,
我想激活第一个 class View click Event For Button
提前致谢!等待回复
在你的第二个class中,发送按钮点击触发器,点击事件执行后,调用第一个class中的方法,重新初始化第一个class中的事件。
第二个 Class:
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
var data=[];
var item={};
if(this.fieldData)
{
for(i=0;i<this.fieldData.length;i++)
{
item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue;
}
data.push(item);
var _data = JSON.stringify(data);
f.sendData(_data,dest);
this.fieldData=null;
ctrl.trigger("ReInitialize",[]);
}
});
第一个Class
ctrl.on("ReInitialize",function(event,info)
{
this.initEvents();
});
这是在 classes 和原型之间工作的示例代码
我正在使用 requireJS 动态生成代码,并在需要时加载元素, 我有两个 javascript class 使用相同的 UI (html) 元素, 现在我想为同一个按钮绑定两个 classes 中的点击事件。 两个 classes 在按钮触发器中具有完全不同的功能
HTML代码
<div class='command-processor'>
<div class='left-control' id='left-control'>
<img src='images/options.png' class='ctrl-image'/>
</div>
<div class='controls'>
<span class="previous" id="previous"><</span>
<input type='text' name='text-control' id='text-control' />
<span class="next" id="next">></span>
<input type='button' id='send' value='send' />
</div>
<div class='right-control' id='right-control'>
<img src='images/options.png' class='ctrl-image'/>
</div>
</div>
JS代码 class1 = 查看
// some stuff
_data=$("#user-input").val();
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
f.sendData(_data,dest);
});
class2 = 字段
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
var data=[];
var item={};
if(this.fieldData)
{
for(i=0;i<this.fieldData.length;i++)
{
item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue;
}
data.push(item);
var _data = JSON.stringify(data);
f.sendData(_data,dest);
this.fieldData=null;
}
});
当 First Class View 加载到浏览器时,发送按钮的 class 单击事件运行良好, 并且第二个 class Field 被加载到浏览器,class 发送按钮的点击事件效果很好。
第一个 class 作品完成后,我正在加载第二个 class 我的时间 class..
在第二个 class 中,当发送按钮触发时,一旦其完成发送按钮功能执行完成, 我想激活第一个 class View click Event For Button
提前致谢!等待回复
在你的第二个class中,发送按钮点击触发器,点击事件执行后,调用第一个class中的方法,重新初始化第一个class中的事件。 第二个 Class:
$(".command-processor").off("click","#send");
$(".command-processor").on("click","#send",function()
{
var data=[];
var item={};
if(this.fieldData)
{
for(i=0;i<this.fieldData.length;i++)
{
item[this.fieldData[i].FieldName]=this.fieldData[i].DefaultValue;
}
data.push(item);
var _data = JSON.stringify(data);
f.sendData(_data,dest);
this.fieldData=null;
ctrl.trigger("ReInitialize",[]);
}
});
第一个Class
ctrl.on("ReInitialize",function(event,info)
{
this.initEvents();
});
这是在 classes 和原型之间工作的示例代码