I ran into this issue recently when I had a setting page that allowed a file upload (image for logo) and the script for it started overriding the general image uploader across the entire admin. Grrf. A better way to hook the .js is found on Justin Tadlock’s blog. (I wasn’t able to do this exactly, but I used the idea.)
add_action( 'admin_menu', 'my_example_settings_page' );
function my_example_settings_page() {
global $my_settings_page;
$my_settings_page = add_options_page( 'DevPress Example', 'DevPress Example', 'manage_options', 'my-example-page-name', 'my_callback_function' );
add_action( 'admin_enqueue_scripts', 'my_admin_enqueue_scripts' );
}
function my_admin_enqueue_scripts( $hook_suffix ) {
global $my_settings_page;
if ( $my_settings_page == $hook_suffix )
wp_enqueue_script( 'my-example' );
}