标签: jquery-delegate

jQuery .on()而不是没有事件的.delegate()

是否可以使用jquery .on()方法而不是.delegate()没有要监听的事件?

根据.on()文件:

.on(events [,selector] [,data],handler(eventObject))

events参数是不可选的.

使用.on()/ .delegate()是动态添加元素.

jquery jquery-delegate jquery-on

8
推荐指数
3
解决办法
2855
查看次数

使用delegate()新添加的元素不会绑定jscolor.js

我有一个简单的形式,每行包含3个输入字段.在其中一个领域,我使用jscolor.js(字段有一个class="color"因此绑定JS).

但是,当我使用jQuery添加新行时delegate(),输入字段不绑定JS,并且不存在预期的功能.http://jsfiddle.net/alexwald/qARzP/

<script>
var line = '<li class="form_line" id="line">    
              <span>
                <label for="item">Item:</label>
                <input type="text" required="required" placeholder="what item is this?" id="item" name="item[]>
              </span>
              <span>
                <label for="amount">Amount: </label>
                <input required="required"  type="number" id="amount" name="amount[]>
              </span>
              <span>
                <label for="color">Color: </label>
                <input type="text" required="required" class="color {pickerClosable:true, hash:true ,pickerFace:3,pickerBorder:0}" id="color" name="color[]">
              </span>
            </li>';

$(document).ready(function() {          
  $("form").delegate(".add", "click", function(){        
    $('ul').append(line); 
  }); // end of adding                              
}); //end of main func 
</script>
Run Code Online (Sandbox Code Playgroud)

我认为问题出在:

  • 我如何定义line变量,或
  • 我正在使用一个不合适的选择器.delegate,所以它应该是别的而不是form......?

任何帮助非常感谢.

javascript jquery jquery-delegate

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

使用委托 jquery 时,多次触发 JQUERY 事件

我在我的代码中使用委托 jquery,但是当它触发某个事件时,它会触发不止一次,我知道这是因为我已经将optionclicked类的事件绑定到了box-main类,但我处于必须这样做的情况将这些类相互绑定,因为使用optionclicked类的内容是动态生成的。是否有问题的解决方案,以便事件仅触发一次意味着它调用一次函数并显示一次弹出操作并发布一次数据等。

$('.boxes-main').on('click', '.optionclicked', function(){
    // do something
    var timetoclick = parseFloat($('#time').text());
    clearInterval(myCounter);
    var optionclicked = $(this).attr('data');
    var questionid = $(this).attr('data2');
    $.post("quesanscheck.php", {
        ans : optionclicked,
        id : questionid,
        time : timetoclick
    }, function(data, status) {
        alert(data);
        if(data == optionclicked)
        {
            //alert("dfad");
            setTimeout(function(){ rightans(); }, 1000);
        }
        else
        {
            // wrong ans red
            if(optionclicked == 'A')
            {
                document.getElementById('op1').style.background = "red";
                document.getElementById('op1').style.border = "0px";
            }
            if(optionclicked == 'B')
            {
                document.getElementById('op2').style.background = "red";
                document.getElementById('op2').style.border = "0px"; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery delegates jquery-delegate

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

单击行中的按钮时获取HTML TR的元素

我有以下动态 HTML行.

<tr role="row" class="odd">
     <td contenteditable="false" class="sorting_1"> </td>
     <td contenteditable="false"> <span class="name">Alex Nilson </span></td>
     <td contenteditable="false"><span class="price"> 1234 </span></td>
     <td contenteditable="false"> <span class="qty" >1234 </span></td>
     <td><button class="pr_edit" href="javascript:;"> Edit </button></td>
     <td><button class="pr_elete" href="javascript:;"> Delete </button></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

当单击编辑按钮时,我需要将该特定行的单元格元素的值转换为jQuery,作为JS变量,我可以将AJAX POST到另一个PHP页面以插入到数据库中.我尝试像下面这样做,但它没有成功.

$(document).ready(function () {
     $('.pr_edit').click(function () {
         var currentTD = $(this).parents('tr').find('td');            
         $.each(currentTD, function () {
             var iname = $(this).find("span.name").html();
             var iprice = $(this).find("span.price").val();
             var iqty=$(this).find("span.qty").val();
         });
Run Code Online (Sandbox Code Playgroud)

它没有按照我的意图捕获变量.我如何实现这一目标?我需要将这些SPAN数据转换为三个变量.

javascript php jquery jquery-delegate

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

标签 统计

jquery ×4

jquery-delegate ×4

javascript ×3

delegates ×1

jquery-on ×1

php ×1