$(...).on is not a function - jQuery Error

Hassan Sardar picture Hassan Sardar · Feb 7, 2014 · Viewed 89.8k times · Source

I am using dialog box, which I am closing when a user click anywhere on page expect that dialog box.

Here is my code:

$('body').on('click','.ui-widget-overlay',function()
{ 
    $('#myRateSettingsPopup').dialog('close'); 
}); 

Somehow its returning an error:

$(...).on is not a function

What is wrong with my code ?

I am using jquery-1.6.1.min.js , but I cannot update it to the latest version. I am bound.

Is there any other way to do this ?

Answer

Anirudha Gupta picture Anirudha Gupta · Feb 7, 2014

Method on was introduced in jQuery version 1.7.

I think you have to upgrade your jQuery library to the newest version.

Otherwise, you can use bind:

$( ".ui-widget-overlay" ).bind( "click", function(e) {
    $('#myRateSettingsPopup').dialog('close');
    e.stopPropagation(); 
});