如何手动触发 jPicker 对话框?

Posted

技术标签:

【中文标题】如何手动触发 jPicker 对话框?【英文标题】:How do I manually trigger a jPicker dialog? 【发布时间】:2014-01-04 22:35:55 【问题描述】:

我有三个绑定到隐藏输入的 jPicker。他们工作正常。 我的问题是,我还想通过点击 div<a> 在其他地方设置来打开他们的对话框。 我不知道如何达到这个结果。 我尝试使用$('#myElement').jPicker()$('#myElement').jPicker("show")$('#myElement').jPicker().show(),但到目前为止没有任何效果。 我知道我做错了什么,我认为必须有一种方法可以从不同的锚点调用相同的对话框。 我还需要它在不同的情况下工作,例如,作为动画完成时的回调。 谁能帮帮我? 提前致谢。

这是我设置 jPicker 对话框的代码:

$(document).ready(
    $('#c_d_item_color1').jPicker(
    
        window:position:x:'screenCenter',y:'screenCenter'
    ,
    function(color, context) 
        var all = color.val('all');
        var temp = 'nocolor';
        if (all !== null) 
            temp = '#' + all.hex;
        
        worker_changeColorByJPicker(temp, 1);
                 
     )
 );

所以 jPicker 设置在 #c_d_item_color1 上,我需要由其他事件触发此对话框,例如确认、回调或其他锚点。

这是 jPicker 绑定的当前输入:

<input class="cf-jpicker" type="hidden" id="c_d_item_color1" value="" />

【问题讨论】:

【参考方案1】:
$("#MyElement")
  .button()
  .click(function() 
    $( "#Jpicker_ID" ).jPicker("open");
  );

【讨论】:

不工作,它会在已经存在的图标旁边添加一个 jPicker 图标。【参考方案2】:

编辑

试试document.ready(function()

$(document).ready(function()
    $('#myElement').jPicker("show");//I think it would work without the "show" parameter
);

要让它附加在点击事件上尝试

$("#my_div").click(function()
    $(this).jPicker("show");
)

【讨论】:

这不是问题。我还想让它由不同的事件触发,比如在动画回调中。 您的问题是您想在&lt;div&gt;&lt;a&gt; 标签上打开jPicker。我说的对吗? 是的,将其编辑得更完整。无论如何,感谢您的回答。我确实需要它来处理任何事件,例如回调或确认对话框之后。 当您单击页面中某处的 div 时,您想打开设置为隐藏输入的 jPicker 吗?这是你的问题吗?

以上是关于如何手动触发 jPicker 对话框?的主要内容,如果未能解决你的问题,请参考以下文章

jPicker 在重置按钮上重置背景颜色以及如何一次打开单个 jPicker 对话框?

如何手动触发 Dropzone 的点击(打开选择文件对话框)

关闭对话框后如何触发方法

在对话框外发生单击时如何触发事件

在 R Shiny 中,如何使用 actionButton 重置 rhandsontable 中的数据(反转所有手动输入)?

如何从 AJAX 调用触发浏览器的基本身份验证对话框?