You do not need to do anything special to initialize PhoneGap with JQM. I would not wait for document ready to call phonegapload() nor would I bind it to any JQ events. In my case I load a custom JS file right after I load the PhoneGap JS library in the <head>. The very beginning of my custom JS file reads (or something like it)
// this is PhoneGap "deveiceready"
document.addEventListener("deviceready", function() {
//alert('PhoneGap initialized');
}, true);
That should look just like what you have.
Also, you must be running your PhoneGap enabled mobile web app on a mobile device within the context of your PhoneGap enabled Java/Objective-C/etc application for any of this to work. PhoneGap will not work within a normal browser on its own without being embedded in a native smartphone parent application on Android/IOS/etc. I hope this is making sense.