jquery事件在angularjs中没有被触发

15 浏览
0 Comments

jquery事件在angularjs中没有被触发

我对jQuery选择器和事件感到困惑。

我试图在bootstrap的table-hover上添加点击行为,但是无论如何都不能触发.click事件,我不知道为什么。

我尝试了以下代码:

$( ".table-hover tbody tr" ).click(function() {

alert("clicked");

});

和:

$( ".table-hover tbody" ).on( "click", "tr", function() {

alert("clicked");

});

这些代码来自于网络上的资料,但是都没有触发点击事件。

我试过用一个简单的img标签来测试选择器:

$( "img" ).click(function() {

alert("clicked");

});

这个代码有效……只对文档中的第一张图片有效,但是其他的图片都是由angularjs的行为生成的,比如ng-repeat和ng-model在查询api后生成,我确定这与此有关,但是我不知道问题出在哪里,因为.on()方法应该解决这个问题。

我已经阅读了关于.on()方法的说明,它可以为文档加载后添加的元素添加事件,但是迄今为止没有任何解决办法适用于我。

0
0 Comments

问题的原因是在使用AngularJS时,想要使用原始的jQuery事件,但是这种方式是错误的。解决方法是使用指令(directive)来代替直接使用jQuery事件。这样可以通过添加自定义属性的方式来实现相同的功能。

以下是解决方法的具体步骤:

1. 阅读https://stackoverflow.com/a/18994990/3612177中提供的解释,并按照其中的指导使用指令来添加自定义属性。

2. 参考http://jimhoskins.com/2012/12/17/angularjs-and-apply.html中提供的有关AngularJS和apply的链接,了解更多相关主题的知识。

通过按照以上步骤,您将能够解决在AngularJS中使用jQuery事件不被触发的问题。请记住,在使用AngularJS时,应该遵循AngularJS的指导原则和最佳实践,尽量避免直接使用原始的jQuery事件。

0
0 Comments

这个问题的出现原因是代码中混合使用了jQuery和AngularJS,并且在特定情况下无法触发jQuery事件。解决方法是修改代码,确保jQuery事件能够正常触发。

首先,需要明确问题所在:代码中混用了jQuery和AngularJS,可能导致事件无法触发。为了解决这个问题,可以尝试以下解决方法:

1. 确认代码是否正确:首先,确认代码是否正确。在问题描述中,提到了一个示例代码,如果这个示例代码没有问题,可以尝试将其应用到实际代码中。

2. 检查代码中的事件绑定:确保代码中的事件绑定正确。在给定的示例中,使用了jQuery的click()方法来绑定点击事件。确保事件绑定的元素选择器正确,以及事件处理函数是否正确定义。

3. 检查AngularJS的使用方式:如果确实需要在AngularJS中使用jQuery,需要确保正确引入jQuery库,并在AngularJS应用中正确注入jQuery依赖。在AngularJS应用中,可以使用angular.element()来替代$或jQuery来操作DOM元素。

4. 检查代码的执行时机:确认代码在正确的时机执行。在AngularJS中,可以使用ng-click等指令来绑定事件,而不是直接使用jQuery的事件绑定方法。

总结一下,混合使用jQuery和AngularJS可能导致事件无法触发的问题。解决方法包括确认代码正确性、检查事件绑定、检查AngularJS的使用方式和检查代码的执行时机。通过这些方法,可以解决jQuery事件在AngularJS应用中无法触发的问题。

0