Friday, 15 January 2010

javascript - AngularJS ng-click not being fired from dynamic buttons in JQuery code -



javascript - AngularJS ng-click not being fired from dynamic buttons in JQuery code -

in jquery code trying add together function in scope , phone call function dyncamically created button ng-click not beingness called:

$(document).on("click", ".inlinelbl", function () { var $this = $(this); var self = this; var localscope = angular.element(self).scope(); if (localscope.inlinesave_click == undefined) { localscope.inlinesave_click = function (elem, event) { //function body } } if (localscope.inlinecancel_click == undefined) { localscope.inlinecancel_click = function (elem, event) { //function body } var html = "<span class='d'><button class='btn btn-default' ng-click='inlinesave_click(this, event)' style='display:inline-block;'></button>"; html += "<button class='btn btn-default' ng-click='inlinecancel_click()' style='display:inline-block;'></button></span>"; var injector = angular.element(document.getelementbyid('app')).injector(); var $compile = injector.get('$compile'); var compiledhtml = $compile(html)(localscope); $this.closest("span.s-element").removeclass("hide"); $this.closest("span.s-element").append($(compiledhtml[0].outerhtml)); }

});

using chrome's extension angularjs have checked localscope attached buttons has both functions.

what missing here?

thanks in anticipation!

instead of taking html compiled output in line,

$this.closest("span.s-element").append($(compiledhtml[0].outerhtml));

append compiled output as-is...

$this.closest("span.s-element").append(compiledhtml);

you may need phone call localscope.$apply() afterwards.

javascript jquery angularjs angularjs-ng-click

No comments:

Post a Comment