相关疑难解决方法(0)

jQuery - 将.live转换为.on点击

可能重复:
jQuery 1.7 - 将live()转换为on().live
()vs .on()方法

我有以下代码(我已经简化了这个),它与jquery-1.7一起运行良好.

$("td.ui-datepicker-week-col a").live("click", function () {
    alert("hello");
});
Run Code Online (Sandbox Code Playgroud)

我正在尝试升级我的代码,所以我可以升级我的jQuery包版本,所以我把它改成了这个.

$("td.ui-datepicker-week-col").on("click", "a", function () {
    alert("hello");
});
Run Code Online (Sandbox Code Playgroud)

但这并没有做任何事情.它不会抛出任何错误,所以我无法看到问题所在.

有任何想法吗?

javascript jquery jquery-on

4
推荐指数
1
解决办法
1662
查看次数

.on()没有在ajax加载的页面上工作

我的soft.php代码

<!DOCTYPE html>
<html>
<head><style>
</style>
<script src="jquery.js"></script>
<script>
$(function(){
$("button").on("click",function(){alert("f");});
$("div").on("click",function(){
$("span").load("check.php");
});

});</script></head><body>
<div>Click</div>
<button>eaf</button><span></span>
</body></html>
Run Code Online (Sandbox Code Playgroud)

和check.php代码

<body>
<button>Hello</button>
</body>
Run Code Online (Sandbox Code Playgroud)

我想通过点击按钮来提醒f,该按钮是通过ajax加载的,它与.live()工作正常.但是有人告诉我.on()可以用来代替live.但是.on()在这里不起作用.解决方案

html javascript ajax jquery

3
推荐指数
1
解决办法
690
查看次数

jQuery-如何将处理程序附加到尚不存在的元素?

我刚在jQuery中遇到问题。我没有找到已经发布的解决方案,如果有,我为我的错误表示歉意。

我有这个DOM:

<div class='usersList list'>                                    
    <div id='7' class='sidebarElement'> <span>user</span></div> 
    <div id='21' class='sidebarElement'><span>user</span></div> 
    <div id='12' class='sidebarElement'><span>user</span></div> 
    <div id='15' class='sidebarElement'><span>user</span></div> 
    <div id='17' class='sidebarElement'><span>user</span></div> 
    <div id='13' class='sidebarElement'><span>user</span></div> 
    <div id='5' class='sidebarElement'> <span>user</span></div> 
    <div id='3' class='sidebarElement'> <span>user</span></div> 
    <div id='4' class='sidebarElement'> <span>user</span></div> 
    <div id='19' class='sidebarElement'><span>user</span></div> 
    <div id='2' class='sidebarElement'> <span>user</span></div> 
    <div id='6' class='sidebarElement'> <span>user</span></div> 
    <div id='18' class='sidebarElement'><span>user</span></div> 
    <div id='16' class='sidebarElement'><span>user</span></div> 
    <div id='14' class='sidebarElement'><span>user</span></div> 
</div>                                                          
Run Code Online (Sandbox Code Playgroud)

它是通过AJAX从另一个文件加载的。我遇到的问题如下。这是我的JS:

$(document).ready(function () {

    function reloadUsers(query) {
        $.ajax({
            url: 'getLoginUsersAjax.php',
            type: 'GET',
            data: {query: query},
            success: function (data) {
                $('.usersCardAjaxContainer').empty().html(data);
            }
        });
    } …
Run Code Online (Sandbox Code Playgroud)

jquery

3
推荐指数
1
解决办法
2059
查看次数

JS:获取最接近的身份证号码

具有以下结构:

<td class="padding_right padding_left">Neighborhood</td>
<td>
    <div id="neighborhoods_region">    
    <select class="inputs_form_data" id="neighborhood_id2" name="neighborhood_id2">
        <option value=""></option>
        <option value=""></option>
    </select>
    </div>
</td>
<td width="10%"><a class='delete-region'>remover</a></td>?
Run Code Online (Sandbox Code Playgroud)

我正在尝试remove点击链接,以获取选择ID的ID号.在这种情况下,我需要从"neighborhood_id2"中获取数字2.

但首先我只是想获得完整的身份证.neighborhood_id2使用以下代码:

$(document.body).on('click','a.delete-region', function () {
    alert($(this).closest('select').attr("id"));
});
Run Code Online (Sandbox Code Playgroud)

但这会让我回报undefined.

注意:该id号码是在动态表单上即时生成的.所以我可能有neighborhood_id3,等等.

javascript jquery

2
推荐指数
1
解决办法
121
查看次数

将事件侦听器附加到动态元素

可能重复:
jQuery 1.7 - 将live()转换为on()

我曾经喜欢.live()jQuery 的功能.您可以添加它,瞧,任何与标识符匹配的未来元素都将具有该功能.

然后它被弃用了,建议使用.on().但它不起作用.下面是我的代码$(document).ready().

这有效

$('#membership_number').live('change',function(e) {
    alert("VALUE CHANGED");
});
Run Code Online (Sandbox Code Playgroud)

事实并非如此

$('#membership_number').on('change',function(e) {
    alert("VALUE CHANGED");
});
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以达到相同的效果,.live()或者我没有.on()正确使用?

javascript jquery

2
推荐指数
1
解决办法
200
查看次数

JQuery无法选择动态创建的html元素

我使用java脚本创建我的Html元素createElement().但是我无法在JQuery中选择任何html元素 - $("p").on("click",function(){}).它适用于$(document).我的JQuery脚本位于html页面正文的末尾.但是,在页面创建后,在浏览器中检查inspect元素时,html元素位于脚本下方.

我已经看到了许多其他类似的问题,但没有一个有效.请帮我解决这个问题我现在已经在这方面工作了几天,而且我没有把它带到哪里.

html javascript jquery

2
推荐指数
1
解决办法
4007
查看次数

jQuery on()无法正常工作

美好的一天.最近我开始学习jQuery,在开发jQuery方面我非常环保.

我对.on()事件有以下问题.我已经搜索了堆栈溢出的答案,但我没有找到任何有效的解决方案.我有以下代码:

$('input.a').on('click',function(){
    $(this).after('<input class="a" type="button" value="click me">');
});
Run Code Online (Sandbox Code Playgroud)

这个功能工作正常,但是当我点击它们时生成的按钮什么都不做.我应该使用.live(); 事件,但因为我正在使用jQuery 1.10.2这个事件已被弃用.在访问jQuery文档之后,我发现我应该以下面的方式使用.on()

$('input.a').on('click','input.a',function(){
    $(this).after('<input class="a" type="button" value="click me">');
});
Run Code Online (Sandbox Code Playgroud)

但是一旦我这样做,整个功能就会停止工作(我假设,因为我没有得到任何反馈),但是开发人员的控制台也没有错误.我做错了什么,或者.live()事件是否还有其他替代品?

javascript jquery

1
推荐指数
1
解决办法
112
查看次数

jQuery将应用程序从“实时”切换到“开启”方法

可能的重复:
jQuery 1.7-将live()转换为on()

只需将我的代码从“实时”切换为“开启”,某些事件就不再触发,这是一个示例,有人可以帮忙说一下这是怎么回事吗?以前,使用“实时”而不是“开启”方法可以100%正确地工作。

$('a#doBulkLink').on('click', function (e) {

    createLabelsWithDestinationFolders();

    $('label.moveDocDestinationFolder').on('click', function (e) {

        doSomeAjaxStuffWithLabels();
        e.stopImmediatePropagation();  

    });

    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

谢谢。

jquery javascript-events

0
推荐指数
1
解决办法
393
查看次数

从.live()迁移到.on()

我有一个小代码,负责绘制新添加的注释.问题是,当我重写代码使用on而不是删除时live,我的代码不适用于在页面加载后添加的新元素

这是我的代码

$(function(){
    $('.show-comment-form').on("click", (function(){
        dataattr = $(this).data('comment');
        $('#new_comment').remove();
        $('.message-'+dataattr).append(partial_form);
        $("#comment_parent_id").val(dataattr);
        return false;
    }))
})
Run Code Online (Sandbox Code Playgroud)

HTML

<a href="/phrases/52/create_comment?parent_id=16" class="show-comment-form" data-comment="16">Reply</a>
Run Code Online (Sandbox Code Playgroud)

如何将click事件添加到所有将来的元素,这些元素将在页面加载后添加?

javascript ajax jquery

-1
推荐指数
1
解决办法
83
查看次数

jQuery on()而不是live()不起作用

由于.live()已被弃用,我使用的是.on()而不是.live(),但是它无法正常工作,如果我错了请耐心等待,提前谢谢.

下面是一个简单的测试html,我的预期行为是只有当我点击按钮时事件才会触发,但事实证明,无论我点击什么,事件都会触发.

<html lang="en">
<head>
  <title>demo</title>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<div id="wrapper">
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <button id="btn">Click</button>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
    <p>Hello World!</p>
</div>
<script>

$(document).on("click", $("#btn"), function(){ 

    document.title += "fire!";

});

</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

jquery

-1
推荐指数
1
解决办法
75
查看次数

Action .on('blur')对输入文本不起作用 - jQuery 1.9+

我使用最新的jQuery版本(1.9.1)更新了我的应用程序.根据发布更新,.live()方法已停止并从1.9 + jQuery版本中删除.新资源现在是.on(),语法相同.

早,我写了下面的jQuery代码:

jQuery("#addressTypes ul li input[type=text]").live('blur', function () {
    var item = {
        addressType: jQuery("#addressTypes ul input[type=text]").val(),
        idAddressType: jQuery("#addressTypes ul input[type=text]").parent().attr("id")
    }
    submitUpdateAddressType(item);
});
Run Code Online (Sandbox Code Playgroud)

此代码适用于旧版本,但停止使用jQuery更新.

有人能帮我吗?请记住,jQuery("#addressTypes ul li input[type=text]")由于业务问题,该项目无法更改.

html javascript jquery

-1
推荐指数
1
解决办法
1万
查看次数

升级jQuery 1.10.2后会出现一些问题

我有从jQuery 1.7.1到1.10.2的更新,现在下面的问题出现在jquery.unobtrusive-ajax.js中:

$("a[data-ajax=true]").live("click", function (evt) {
    evt.preventDefault();
    asyncRequest(this, {
        url: this.href,
        type: "GET",
        data: []
    });
});
Run Code Online (Sandbox Code Playgroud)

问题是在现场.它说不$("a[data-ajax=true]")接受方法或财产live.

怎么解决这个?我应该升级jquer.unobtrusive-ajax.js还是这样的?

javascript jquery asp.net-mvc-4

-3
推荐指数
1
解决办法
3372
查看次数