LeonardShelby
LeonardShelby

Reputation: 119

loading jqueryUI dialog() function on WordPress page

I am making my first, basic attempt to make a popup window JavaScript for a WordPress site. I'm using jQueryUI's dialog() function. My expected behavior is that a popup would appear when the page loads, but this is not happening. I am using the basic example from http://jqueryui.com/dialog/#default

I made a test html page with a div that the jQuery can grab:

<div id="dialog" title="Basic dialog"> <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p> </div>

My jQueryUI script code is just this:

jQuery(document).ready(function() {

    $( "#dialog" ).dialog();

});

I've saved this script to a file popup.js.

I then enqueued the script using the following code, which works fine, as I can see the script in the HTML source of my web page:

function my_popup_script() {
    wp_enqueue_script(
        'my-popup-script',
        get_stylesheet_directory_uri() . '/js/popup.js',
        array( 'jquery' )
    );
}

add_action( 'wp_enqueue_scripts', 'my_popup_script' );

I'm not sure where in this process I'm making an error. Thanks for your help.

Upvotes: 3

Views: 1582

Answers (1)

Eran.E
Eran.E

Reputation: 940

it's only a jquery conflict, try this:

jQuery(document).ready(function() {

    jQuery( "#dialog" ).dialog();

});

you can use the jquery noConflict function if you want to use the jquery object as a $ sign, just put this line before all the jquery code:

var $ = jQuery.noConflict();

If you want it to Popup on click event so you can use:

var $ = jQuery.noConflict();
$(document).ready(function() {    
    $('.the_button').click(function(){     
        $( "#dialog" ).dialog();
    });    
});

Upvotes: 2

Related Questions