【问题标题】:Not performing yes click event不执行是点击事件
【发布时间】:2011-09-27 00:12:06
【问题描述】:

所以应该发生的是,当用户单击“是”答案时,它应该获取 img 的 id,然后执行其任务,但我不知道是否应该将 id 放在链接上而不是图像上但问题的主要部分是它没有执行“是”点击功能的步骤。

我在这个页面上使用了相同的插件。 http://webstuffshare.com/demo/jConfirmAction/index.html 并使用默认用法的插件

<td> 
<a class="ask" href="#"> 
<img id="2" class="delete" border="0" title="" alt="" src="images/trash.png"> 
 </a>
 <div class="question" style="opacity: 1;">
  Are You Sure ?
   <br>
  <span class="yes">Yes</span>
  <span class="cancel">Cancel</span>
 </div>
</td>

$('.ask').jConfirmAction();

$('.yes').bind('click', function(){
    var userID = $(this).parent.attr('id'); 
    var dataString = 'userID=' + userID + '&deleteuser=True'; 
    $.ajax({ 
        type: "POST", 
        url: "processes/template.php", 
        data: dataString, 
    });
    $(this).parents("tr").eq(0).hide();   
}); 

【问题讨论】:

  • 请注意,这是为了显示插件生成的标记而编辑的。原始用例没有这些跨度。
  • 好的,那么这里的场景是什么?您是否尝试创建删除用户的确认提示?

标签: jquery jquery-plugins


【解决方案1】:

您没有任何具有 yes 类的东西可以将该点击绑定到。

编辑:(生成代码后添加)

如果您不能将您的 id 添加到您的 td 并更改为 var userID = $(this).parents('td').attr('id'),请尝试将您的 id 放入您的 &lt;div class="question" style="opacity: 1;"&gt;

【讨论】:

  • 我以为这只是部分脚本,但这似乎仍然很有可能。 +1。
  • 那么,jquery 插件发生的情况是,当您单击具有 ask 类的对象时,它会弹出一个小工具箱,用于处理是或否的确认操作。该部分被写入 jsConfrimAction 函数中。
  • @Jeff,你能把生成的工具箱的html贴出来吗?
【解决方案2】:

在调用绑定之前尝试使用alert("Some message");。将另一个作为function() 的第一条指令。看看这两条代码是否都被访问了。

【讨论】:

    【解决方案3】:

    好的,那么您应该在客户端(网络浏览器)中看到的是:

    <td>
        <a href="#" class="ask">
            <img src="images/trash.png" class="delete" alt="" title="" border="0" id="some value" />
        </a>
    </td>
    

    所以,你给你的 image 一个 id,但是你的 jQuery 选择器试图将一个点击事件绑定到 hyperlink,它的函数试图解析表格单元格的 ID。正如其他人所提到的,选择器什么都不选择,因为没有任何东西与之匹配。

    你知道我要做什么了吗?

    编辑:

    在图片上设置点击事件:

    $(".delete").click(function(e){ 
        var id = e.target.id; 
    
        // ... the rest here
    });
    

    在超链接上设置:

    $(".ask").click(function(e){ 
        e.preventDefault();
    
        var id = $(this).("img").attr("id"); 
    
        // ... the rest here
    });
    

    编辑 2:

    如果您的目标是提供确认提示,我会按照 K.I.S.S.原则;单击删除链接时使用 JavaScript 确认提示:

    $(".ask").click(function(e){ 
        e.preventDefault();
    
        if(confirm("Are you sure?")){
            var id = $(this).("img").attr("id"); 
    
            // ... the rest here
        }
    });
    

    【讨论】:

    • 使用您提供的课程? $(".delete").click(function(e){ var id = e.target.id; }); 应该会让你朝着正确的方向前进。
    • 是否包含在 yes 绑定事件中?
    • 但是你错过了 yes 课
    • 我更新了代码,以便您了解生成的代码是什么样子的。
    • 现在它甚至没有调出工具箱。当我单击删除类的图像时
    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多