Javascript .一旦从上更改,则不会触发单击

Javascript .一旦从上更改,则不会触发单击,javascript,jquery,jquery-tools,Javascript,Jquery,Jquery Tools,我有下面的代码 $(document).on('click','#container.pagination .active', function(){ var page = $(this).attr('p'); loadData(page); }); 返回的错误 未捕获的TypeError:对象#没有方法“on” 我发现一旦我禁用使用jQuery1.8.2的jQueryUI1.9.

我有下面的代码

$(document).on('click','#container.pagination .active', function(){

                    var page = $(this).attr('p');
                    loadData(page);
                });
返回的错误

未捕获的TypeError:对象#没有方法“on”

我发现一旦我禁用使用jQuery1.8.2的jQueryUI1.9.0,问题就会得到解决。但是jqui是我的项目的重要部分,所以它不能从页面中删除

我尝试了一种替代方法,可以帮助我在不使用.on的情况下获得相同的结果,但似乎它甚至没有触发。有没有语法错误? 我换了

$(document).on('click','#container.pagination .active', function(){

现在是这样的:

$('#container .pagination .active').click(function(){
                    alert(loadData(page));
                //$(document).on('click','#resultBox .pagination .active', function(){
                    var page = $(this).attr('p');
                    loadData(page);

                    //echo $page;
                });  
但是,该功能甚至没有被触发

当我在这个senario中使用.on与.click时是否有区别,这是导致其功能不正常的原因?

=========================================== 以下是我在Chrome浏览器的错误报告中找到的更多信息:

Uncaught TypeError: Object #<Object> has no method 'on' jq_iface_testScores_with_pagination.js:176
(anonymous function) jq_iface_testScores_with_pagination.js:176
c.extend.ready jquery.tools.min.js:38
L jquery.tools.min.js:45
uncaughttypeerror:Object#在带有分页的jq_iface_testScores_上没有方法。js:176
(匿名函数)jq_iface_testScores_with_pagination.js:176
c、 extend.ready jquery.tools.min.js:38
L jquery.tools.min.js:45
这是否意味着它还可以处理jquery工具…这变得越来越疯狂。。。 请帮忙

==最新发现--发现实际问题!如何解决它?================ 正如前面的错误所发现的,实际问题在于JQ工具1.2,它是utlizie JQ1.7.2。我认为它与我的JQ1.9.1的函数相矛盾。我试了好几页。经测试,即使只是加载jqtool1.2,也会在没有实际使用它的情况下导致问题。 如何在不删除jquerytool 1.2的情况下解决此问题?每次都返回相同的错误消息

==分辨率==== 在斯梅尼的持续帮助下,我终于有了一个解决方案,问题实际上是处理过时的jquery.tool库问题在于原因,因为jq.tool库是1.2.3而不是1.2.7。有时候,事情很简单,但需要很长时间才能理解和探索

aa谢谢你,斯默尼!这是你应得的代表:)

谢谢大家!

$(document).on('click','#container .pagination .active', function(){

在第一种方法中,它使用委托。这意味着在绑定之前,选择器中的元素不必存在

在第二种情况下,在绑定之前,元素需要在那里

如果
$(文档)
不起作用,请尝试选择正文:

$("body").on('click','#container .pagination .active', function(){
只有当您在某个点动态加载这些元素时,这才是必需的。。。如果立即加载它们,那么我假设您只需要将代码包装在
$(document).ready(function(){…})
块中:

$(document).ready( function() {
    $("body").on('click','#container .pagination .active', function(){
    ...
});

以下是可能的选择:

 $(selector).live(events, data, handler); // jQuery 1.3+
    $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
    $(document).on(events, selector, data, handler); // jQuery 1.7+

如果动态添加了类为.active的元素,则与on绑定的事件将起作用,而与click绑定的事件将不会
click(…)
on(“click”,…)
的快捷方式,但当您在
on()
中添加上下文时,会产生不同。。。尝试将
$(文档)
替换为
$(“正文”)
谢谢Karaxuna!那么,有没有一种替代方法,不使用.on,而同时达到同样的效果?谢谢你为什么不想用它呢?在旧版本的jquery@Adam你为什么不升级jQuery UI呢?他已经在使用1.7+,升级到1.7+,并且已经在()上使用了
on
$(document).ready( function() {
    $("body").on('click','#container .pagination .active', function(){
    ...
});
 $(selector).live(events, data, handler); // jQuery 1.3+
    $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
    $(document).on(events, selector, data, handler); // jQuery 1.7+