相关疑难解决方法(0)

动态创建元素的事件绑定?

我有一些代码,我循环遍历页面上的所有选择框,并将.hover事件绑定到它们,以便在它们的宽度上做一些麻烦mouse on/off.

这发生在页面准备就绪并且工作得很好.

我遇到的问题是,我在初始循环后通过Ajax或DOM添加的任何选择框都不会受到事件限制.

我找到了这个插件(jQuery Live Query Plugin),但在我用插件添加另外5k到我的页面之前,我想知道是否有人知道这样做的方法,无论是直接使用jQuery还是通过其他选项.

javascript jquery events unobtrusive-javascript

1677
推荐指数
21
解决办法
79万
查看次数

jQuery 1.9 .live()不是一个函数

我最近将jQuery从1.8升级到2.1.我突然发现.live()停止工作.
我收到了错误TypeError: $(...).live is not a function.

有什么方法可以用来代替.live()吗?

javascript jquery function live deprecated

228
推荐指数
9
解决办法
29万
查看次数

Jquery将事件侦听器添加到动态添加的元素中

所以现在,我理解为了将事件监听器附加到动态添加的元素,您必须在添加元素后重新定义监听器.有没有办法绕过这个,所以你不必执行一整个额外的代码块?

jquery events

93
推荐指数
3
解决办法
12万
查看次数

jQuery .on()和.delegate()在iPad上不起作用

如果您在桌面上尝试此代码段,一切正常.
每当你在iPad上试用它时,它都不会做任何事情.

$('body').on('click', '#click', function() {
    alert("This alert won't work on iPad");
});
Run Code Online (Sandbox Code Playgroud)
div { 
  font-size: 24px; 
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="click">Click here</div>
Run Code Online (Sandbox Code Playgroud)

简单的.click()处理程序工作,但它不是我想要的.这同样适用于.delegate();.live()

这是一个bug还是什么?

javascript jquery delegation ipad

30
推荐指数
4
解决办法
2万
查看次数

如何在动态插入元素上使用焦点和模糊?

我有功能:

$(document).ready(function(){

    $("input.myclass").focus(function() {
        // something
    }).blur(function() {
        // something
    });

}
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div class="usil">
    <div class="editable">
        <form>
            <input type="text" class="myclass" />
        </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在加载页面jquery上"myclass"元素工作正常,但其他脚本动态添加"usil"类divs并在此divs jquery不工作.怎么做?

jquery

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

jQuery监听器不会"监听"动态创建的DOM元素上的事件

我有一个这样的听众:

$('.delete').click(function() {
  ...some stuff
});
Run Code Online (Sandbox Code Playgroud)

此外,在同一页面上,另一个脚本以这种方式动态地向DOM添加元素:

$('#list').append('<tr><td><a class="delete" href="#">delete</a></td></tr>');
Run Code Online (Sandbox Code Playgroud)

我的问题是监听器不"监听"这些动态创建的元素.

请问有人可以解决一些问题吗?

jquery events dom click listener

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

如何在文档准备好后添加按类名添加的元素?

我试图通过我在jQuery中添加到它的类名来定位元素.如果我添加一个新元素,这似乎工作正常,但我无法将新事件绑定到已经在DOM中的元素,但已被更改.

我究竟做错了什么?

$(document).ready(function(){  
$(".activateRow").on("click",function(){
     $(this).text('Deactivate').addClass('deactivateRow btn-danger').removeClass('activateRow btn-success');
     $(this).parent().parent().removeClass('inactiveRow');
 });

$(".deactivateRow").on("click",function(){
    $(this).text('Activate').removeClass('deactivateRow btn-danger').addClass('activateRow btn-success');
    $(this).parent().parent().addClass('inactiveRow');
});

 })
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

jQuery .on()不会触发任何事件

我正在使用jQuery编写一个应用程序,当单击一个按钮时,会生成一个选择框并附加到一行.每当选择更改时,它应该触发更改事件,但使用.on("change", function() {});不起作用:

码:

<!DOCTYPE html>
<html>
    <head>
        <title>HTML5-Template</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <style type="text/css">
            html, body
            {
            }

            input,select {
                border: 1px solid #404048;
                padding: 4px;
            }
        </style>
        <script type="text/javascript" src="../JavaScript/JQuery/jquery-1.9.1.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#cmdCreateRow").click(function() {
                    var row = $("<div />")
                    .css("font", "normal 12px Verdana")
                    .css("padding", "8px")
                    .css("display", "inline-block")
                    .css("background", "#F0F0F8")
                    .css("border", "1px solid #A0A0A8")
                    .css("margin", "2px");

                    var types = [
                        "Local", 
                        "Remote",
                        "(Custom)"
                    ];

                    var type = $("<select />").attr("class", "member-type");
                    for(var i in types) { …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

JQuery - 在生成的内容上使用选择器

我在使用javascript生成的内容上使用jquery选择器选择元素时遇到问题.

对于这一代,我使用以下功能:

var articles = [
    {
        img: { src: this.base_url + 'assets/img/frontend/placeholder.png', alt: 'Image Description' },
        title : 'Title Here',
        text: 'Lorem ipsum dolor sit amet, consectetur adispiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet ' + 
              'dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci.'
    },
    {
        img: { src: this.base_url + 'assets/img/frontend/placeholder.png', alt: 'Image Description' },
        title : 'Title Here',
        text: 'Lorem ipsum dolor sit amet, consectetur adispiscing elit, sed …
Run Code Online (Sandbox Code Playgroud)

jquery dynamic jquery-selectors

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

Jquery在AJAX表单结果显示中没有响应

我刚刚开始在jquery和AJAX中工作,而且大多数情况下我似乎已经掌握了它,但这一小段代码无效.

我有一个显示文章摘要的页面.当您单击文章名称时,将显示一个弹出窗口,并显示文章信息以及右上角的X图标,该图标将关闭文章窗口.

我正在通过AJAX处理表单处理,效果很好.弹出窗口,显示所有正确的信息.我遇到的问题是关闭按钮功能.

单击关闭按钮时,没有任何反应.我拥有的jquery似乎没有回应.如果我只使用纯jquery/css,则会出现窗口并关闭按钮.如果我使用HTML/PHP处理表单,它会显示窗口并关闭按钮.

只有当我通过AJAX处理呼叫时,关闭按钮才会响应,我不知道为什么会这样.

这是关闭按钮的简单jquery代码:

$('.newsClose').click(function(){
        $('#newsWindow').hide();
    });
Run Code Online (Sandbox Code Playgroud)

这是AJAX调用:

$(document).ready(function() {
    $('#agentNewsForm').submit(function(e) {  
    e.preventDefault();
    $.ajax({
            type  : 'POST',
            data : $('#agentNewsForm').serialize(),
            url  : '/search/customer/agentNewsView.inc.php',
            beforeSend : function() {
                $('#processing').show();
            },
            error : function() {
                $('#processing').hide();
                $('#ajaxFormError').show();
            },
            // success callback
            success : function (response) {
                $('#processing').hide();
                $('#newsWindow').html(response).show();

            },
            complete : function() {
                $('#processing').hide();
            },
            timeout : 3000,
        });  
    return false;
    });

}); 
Run Code Online (Sandbox Code Playgroud)

我确信这是一件非常简单的事情.有什么想法吗?

html javascript php ajax jquery

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