Я знаю вашу проблему, потому что у меня была похожая проблема, и я решил использовать Jquery и пространство имен для привязки событий из пространства имен javascript. Вот как я работал с привязкой событий к одному элементу, а также с привязкой событий к нескольким элементам с одним и тем же классом или тэгом.
По сути, я помещаю в пространство имен события click, hover, mouseover и т. Д., А затем вызываю события пространства имен в моем document.ready. Причиной этого является то, что я могу просматривать все мои события щелчка, наведения мыши при наведении курсора из одного места.
<script type="text/javascript">
var Page1 = {
Events: {
click: {
elementid: {
func: function(evt) { //where elementname is the id of your element
//your code here
},
selector: "#someId"
}
elementclass: {
func: function(evt) { //where elementclass is the class of your element(s)
//your code here
},
selector: ".someClass"
},
mouseover: {
//similar to click namespace
},
mouseout: {
//similar to click namespace
},
....
}
};
$(document).ready(function() {
for (var key in Page1.Events) {
for (var eventKey in Page1.Events[key]) {
$(Page1.Events[key][eventKey].selector).bind(key, Page1.Events[key][eventKey].func);
}
}
});
</script>
Теперь приятно отметить, что вы просто добавляете события в свое пространство имен, и они автоматически подключаются к документу. Вы также можете заменить вызов $ .bind на Live или делегировать для подключения к будущим элементам dom.