GVKun编程网logo

angularjs – 使用jQuery添加ng-click事件(angular引入jquery)

15

本文的目的是介绍angularjs–使用jQuery添加ng-click事件的详细情况,特别关注angular引入jquery的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全

本文的目的是介绍angularjs – 使用jQuery添加ng-click事件的详细情况,特别关注angular引入jquery的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解angularjs – 使用jQuery添加ng-click事件的机会,同时也不会遗漏关于AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作、angularjs – ng-click事件在点击按钮时没有触发?、angularjs – ng-click对通过jquery append创建的链接不起作用的知识。

本文目录一览:

angularjs – 使用jQuery添加ng-click事件(angular引入jquery)

angularjs – 使用jQuery添加ng-click事件(angular引入jquery)

作为 Angularjs的新手,我需要对此问题提供一些帮助.我正在尝试将ng-click =“getgallery(57)”添加到模态选项卡.通过jQuery添加不是问题,但我意识到当我这样做时,Angular没有编译新添加的ng-click.我有一个简单的控制器

function imagegalleryCtrl ($scope,$http) {

    //get gallery info on click
    $scope.getgallery = function(id)
    {
        $http.post('/beta/images/get_images',{'id': id}).success(function(data)
    {
        $scope.images = data.thisgal_images;
        $scope.images.galID = id;
    });
    };

}

我使用jQuery将ng-click添加到元素中

//Edit image tab to use angularjs
$('#image_edit a').attr('ng-click','getgallery(' + settings.id + ')');

如何强制Angular编译这个新添加的ng-click?

谢谢!

HTML模式:

这是单击图库名称时调用的模态.

<divid="imageUploader" tabindex="-1" data-focus-on="input:first">
    <div>
        <button type="button"data-dismiss="modal"></button>
        <h3>Create New gallery</h3>
    </div>
    <div>
            <ul id="myTab">
                <li id="image_home">
                    <a href="#home" data-toggle="tab">Home</a>
                </li>
                <li id="image_upload">
                    <a href="#upload" data-toggle="tab">Upload Image gallery</a>
                </li>
                <li id="image_edit">
                    <a href="#edit" data-toggle="tab">Edit Image gallery</a>
                </li>
            </ul>

            <div id="myTabContent">

                <divid="home">
                    <?PHP include('create.PHP'); ?>
                </div>

                <divid="upload">
                    <?PHP include('upload.PHP'); ?>
                </div>

                <divid="edit">
                    <div>
                <ul id="imageSort"https://www.jb51.cc/tag/gal/" target="_blank">gallery-container">
                <li ng-repeat="image in images">
                <img ng-src="http://images.onlinealbumproofing.com/imagegallery/{{image.galleryID}}/{{image.imageName}}" alt="">
                {{image.orgName}}
                </li>
                 </ul>
               </div><!-- /span9 -->
                </div><!-- /row -->
                </div>

            </div>

    </div><!-- /modal-body -->

    <div>
        <a href="javascript:;"data-dismiss="modal">Close</a>
        <a href="javascript:;" id="next">Next</a>
    </div>

</div>

更新

所以真的试图以Angular的方式做到这一点,经过一些研究,我就在这里.
控制器与上面相同,我已更新模式上的选项卡,如下所示.

<div>
            <ul id="myTab">
                <li id="image_home">
                    <a href="#home" data-toggle="tab">Home</a>
                </li>
                <li id="image_upload">
                    <a href="#upload" data-toggle="tab">Upload Image gallery</a>
                </li>
                <li id="image_edit">
                    <a ng-click="getgallery(57)" href="#edit" data-toggle="tab">Edit Image gallery</a>
                </li>
            </ul>

如果我像上面那样对ng-click进行硬编码,则选项卡会按预期更新.我想要做的是,当调用模态时,(#image_edit a)得到一个定义的ng-click =“getgallery(id).我需要告诉Angular再次查看ng-click的id.

解决方法

基本上我所要做的就是你想要实现这个目标:

<ul id="imageSort"https://www.jb51.cc/tag/gal/" target="_blank">gallery-container">
    <li ng-repeat="image in images">
        <img
            ng-src="http://images.onlinealbumproofing.com/imagegallery/{{image.galleryID}}/{{image.imageName}}"
            alt=""
            ng-click="getgallery(image.galleryID)"
            >
        {{image.orgName}}
    </li>
</ul>

问题是我不确定settings.id和特定图像的galleryID之间的关系.如果你可以在数据中设置这种关系,那么它就会自动绑定你的状态.

AngularJS + JQuery:如何使动态内容在angularjs中工作

AngularJS + JQuery:如何使动态内容在angularjs中工作

我正在使用jQuery和AngularJS开发Ajax应用程序。

当我使用jQuery的html功能更新div的内容(包含AngularJS绑定)时,AngularJS绑定不起作用。

以下是我正在尝试执行的代码:

$(document).ready(function() {

  $("#refreshButton").click(function() {

    $("#dynamicContent").html("<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>")

  });

});


</style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid {

  border: 1px solid red;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="">

  <div id='dynamicContent'>

    <button ng-click="count = count + 1" ng-init="count=0">

        Increment

      </button>

    <span>count: {{count}} </span>

  </div>





  <button id='refreshButton'>

    Refresh

  </button>

</div>

我在具有ID的div内包含动态内容#dynamicContent,并且具有一个刷新按钮,当单击刷新时,该按钮将更新该div的内容。如果不刷新内容,增量将按预期工作,但是刷新后,AngularJS绑定将停止工作。

这在AngularJS中可能无效,但是我最初使用jQuery构建了应用程序,后来又开始使用AngularJS,因此无法将所有内容都迁移到AngularJS。非常感谢在AngularJS中实现此功能的任何帮助。

AngularJS JQuery:如何获得动态内容在angularjs中工作

AngularJS JQuery:如何获得动态内容在angularjs中工作

我正在使用一个Ajax应用程序使用jQuery和AngularJS。

当我使用jQuery的html函数更新div的内容(其中包含AngularJS绑定)时,AngularJS绑定不工作。

这是一个JSFiddle版本的我想要做的。

我有一个动态内容在一个div与ID #dynamicContent,我有一个刷新按钮,将更新此div的内容,当刷新点击。增量工作原理如果我不刷新内容,但刷新后,AngularJS绑定停止工作。

这可能不是有效的AngularJS,但我最初用jQuery构建应用程序,并开始使用AngularJS后,所以我不能迁移所有的AngularJS。任何帮助获得这工作在AngularJS非常感谢。

您需要在HTML字符串上调用$ compile,然后将其插入到DOM中,这样angular才有机会执行绑定。

在你的小提琴,它会看起来像这样。

$("#dynamicContent").html(
  $compile(
    "<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>"
  )(scope)
);

显然,$ compile必须注入到你的控制器中才能工作。

阅读更多在$compile documentation。

angularjs – ng-click事件在点击按钮时没有触发?

angularjs – ng-click事件在点击按钮时没有触发?

我在 Angularjs中创建Web应用程序,我在单独的.js文件中编写代码,用于从数据库登录
是在页面加载时执行但在按钮点击时不触发,
我的.js代码是:
var adminModule = angular.module('angApp',[]);
   //Defining a Angular Controller
   adminModule.controller('AdminCtrl',['$scope','$http',`enter code here` function ($scope,$http) {
    Login();
           function Login(U_Name,U_PWD) {
        debugger;
        //Defining the $http service for login the admin user
        $http({
            method: 'POST',url: '/Admin/IsAuthenticate',data: { User_Name: U_Name,User_PWD: U_PWD }
        }).success(function (result) {

            if (result == true) {
                alert('user is valid');
            }
            else {
                alert('unauthorised access!');
            }
        })
            .error(function (error) {
                //Showing error message 
                $scope.status = 'Unable to connect' + error.message;
            });
    }
       }]);

我在这里使用Angularjs用于绑定它的视图是一个问题,上面的代码正在处理页面加载但是不能按下按钮,我使用的代码是:

<divng-controller="AdminCtrl" ng-app="angApp">
     <h2>using angularjs</h2>
    <input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
    <input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD"  />
    <input type="button" id="login" value="login" ng-click="Login()" />
</div>

有人请帮助我,我想念这里,所以我无法点击按钮触发ng-click事件
提前致谢.

您的登录功能需要在范围内.现在,它本质上是一个私人功能:
$scope.Login = function () {
  ...
}

angularjs – ng-click对通过jquery append创建的链接不起作用

angularjs – ng-click对通过jquery append创建的链接不起作用

如果在statis链接上使用angular js脚本的ng-click属性,它可以很好地运行如下所示的代码

<divid="cModal" ng-controller="modalController">
  <li id="modalp1"><a ng-click="parentOptions()" href="#">Add Parent</a></li>
</div>

如果通过jquery append()或prepend()方法动态创建示例链接,则单击事件不起作用.示例代码如下所示.

$('#cpartners').prepend("<li><a ng-click=\"parentOptions()\" href=\"#\">Add Parents (Mother & Father)</a></li>");

控制器示例代码如下所示

function modalController($scope) {
  $scope.sthumbedit = function() {
    $(".dur").show();
  };
  $scope.hthumbedit = function() {
    $(".dur").hide();
  };
  $scope.parentOptions = function() {
  prepareParentOptions();
  };

  $scope.siblingOptions = function() {
   prepareSiblingOptions();
  };

  $scope.childOptions = function() {
   prepareChildOptions();
  };

}

有没有办法强制执行ng-click属性在dyanmically生成的链接上运行良好.

解决方法

如果你使用jquery添加html,你需要编译内容并将其注入DOM.就像是

var element = $compile(‘< p> {{total}}< / p>‘)(范围);

有关示例http://docs.angularjs.org/guide/compiler,请参见“如何编译指令”部分

今天的关于angularjs – 使用jQuery添加ng-click事件angular引入jquery的分享已经结束,谢谢您的关注,如果想了解更多关于AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作、angularjs – ng-click事件在点击按钮时没有触发?、angularjs – ng-click对通过jquery append创建的链接不起作用的相关知识,请在本站进行查询。

本文标签: