dirty_form icon indicating copy to clipboard operation
dirty_form copied to clipboard

synthetic click() rather than use href attr?

Open dgoldenichec opened this issue 15 years ago • 0 comments

I experimented with switching to synthesizing clicks rather than relying on href. This allowed me to dirty_stopper() elements that didn't or aren't supposed to have href attributes, such as form input submit buttons, not just a. It seemed to work, though n.b. the below doesn't address a bunch of cases (like clicking not actually ultimately navigating away...). The href approach might be more robust.


--- /usr/local/src/dirty_form/jquery.dirtyform.js       2009-09-09 12:10:52.000000000 +0100
+++ jquery.dirtyform.js 2010-02-03 12:55:05.000000000 +0000
@@ -173,19 +173,22 @@
           }
         })
       } else {
         stopper.unbind('click.dirty_form')
         stopper.bind('click.dirty_form', function(event){
           if($('.dirtyform').are_dirty()) {
             event.preventDefault();
             var div = $("
").appendTo(document.body), - href = $(this).attr('href'); + element = $(this); div.dialog($.extend({buttons: { - Proceed:function(){window.location = href}, + Proceed:function(){ + element.unbind('click.dirty_form'); // n.b. assumes proceeding navs away. + element.trigger('click'); + }, Cancel:function(){$(this).dialog('destroy').remove(); return false} } }, settings.dialog)).dialog("moveToTop").append(settings.message); } }); } }); }

dgoldenichec avatar Feb 03 '10 13:02 dgoldenichec