jquery解绑元素事件,该怎么处理

jquery解绑元素事件
想的想了,查的查了,是在不知道该怎么做了。
dom元素是动态生成的,生成之后给body绑定了keydown事件,当keydown触发后,判断dom存在执行dom的click事件。但现在可能产生多个dom,只希望当前dom触发keydown。

 $("body").keydown(this.symbol,function (event){ //响应Esc事件
                    var code = event.keyCode; 
                    // console.log(event.data);
                    // console.log(dialogs);
                    // console.log(event);
                    if (code == 27 && event.data == dialogs.length) { 
                        $("[ids=dialog-BtnStyle-n"+that.symbol+"]").each(function(){
                            if(this.cancel == true){
                                $(this).click();
                                return false;
                            }
                        });
                    } 
                });

如果说dom被移除后没有移除对应的keydown事件的话会出错。例如,dom1通过keydown事件生成dom2,dom2的keydown事件是移除dom2,dom2被移除一次后,dom1再无法通过keydown事件生成dom2了。原因应该是dom2的keydown事件没有在body移除。

现有两个问题:1.怎么移除当前的对象的keydown事件?
2.我的这种按键响应的设计是不是有很大的问题?该怎么改进?(其实我希望的是keydown能直接绑定在dom上而不是body上)

ps:非常感谢showbo之前的回答,但请原谅我虽然看懂您之前的那个demo,但还是不知道该怎么使用在我这种情况上。
------解决思路----------------------
dom1再无法通过keydown事件生成dom2,这个得看你的代码,你移除dom对象,如果没判断是否存在就引用当然会报错

如果添加键盘事件到dom对象上,那么dom必须要获取焦点才会相应事件,所以绑定到document或者document.body上是比较明智的,然后依据你的逻辑执行相关操作。
------解决思路----------------------
学习。。。。。。。