所以我在页面上有一个显示表格数据的网格,每行都有一个复选框。
因此,在这种情况下,当单击一个复选框时,可能会对页面上的所有事情作出反应。
此外,如果单击某个按钮,则会再次分配任何内容。
所以说如果有人检查了一个复选框,该行应该突出显示,有一个工具栏会显示/隐藏按钮等。
如果有人直接点击工具栏,再次点击复选框时会发生类似的事情。
所以我想做的就是这样,每当点击一个复选框,或者点击一个工具栏按钮时,我想向所有正在听这个事件发生的人'宣布'。
然后,我可以根据事件的来源,以类似或不同的方式作出反应。
如何最好地设计这样的东西?
答案 0 :(得分:3)
我想你想研究一下Observer Pattern。基本上,有兴趣的人订阅或监听发布者的事件,当事件发生时,消息来源会通知所有听众。
答案 1 :(得分:1)
我的应用程序中有一个像这样的大网格随着时间的推移而发展,并且手动绑定到每个输入+以不同的方式响应导致代码变得“有点”丑陋,
你现在去哪里准备前面很好
答案 2 :(得分:0)
您可以尝试YUI Custom Events。这样你就可以开启你自己的听众可以听到的“事件”。
答案 3 :(得分:0)
我喜欢它如何与jquery一起工作,因为你可以将事件绑定到很多 元素一下子。
$("input[type=checkbox]").click(function(e){
alert(e.currentTarget.id);
});
此代码会使所有复选框都提醒他们的名字。当然,通过使用css类, 您可以绑定所有复选框的子集以创建操作。
$("input[type=checkbox].cssClass").click(function(e){
someOtherFunction(e.currentTarget);
});