Это работает как задумано, несколько регистраций событий будут запускаться независимо друг от друга.
Однако вы можете обойти это решение: установить флаг, который будет препятствовать выполнению, если вызывается более одного раза.Например, эта страница будет загружать ваш сценарий четыре раза, но регистрация события будет происходить только один раз:
this is your HTML page
<script>
var alreadyRan = false;
</script>
<script src="yourscript.js?firstload"></script>
<script src="yourscript.js?secondload"></script>
<script src="yourscript.js?thirdload"></script>
<script src="yourscript.js?nextload"></script>
etc.
Затем в yourscript.js:
if (!alreadyRan) { // we declared alreadyRan in the global scope
alreadyRan = true; // won't run on further invocations
// thus the handler will only be registered one time
$(document).ready(function(){
// your onready code
});
}
Обратите внимание, что это можетПроще разделить вашу библиотеку на часть, которая требуется только один раз, и на часть, которая вызывается повторно, и загрузить эту начальную часть только один раз.