【问题标题】:jQuery: Call two functions on one event and one selector and pass data between themjQuery:在一个事件和一个选择器上调用两个函数并在它们之间传递数据
【发布时间】:2012-02-23 07:48:26
【问题描述】:

如何在同一个选择器和一个事件上调用两个函数并在它们之间传递数据? 第一个函数是 .hover

 $("#cartItems tr.cItem").hover(
   function ()
   {
       receipt = $(this).next().children().text();
       //I want to pass receipt value to second function
   },
   function()
   {

   }
 )  

第二个功能是:

$("#cartItems tr.cItem").qtip(
{
   content: receipt, // i need to pass it here
   show: 'mouseover',
   hide: 'mouseout'
});

它是在小窗口中弹出“contet”值的工具提示

如何调用/合并这两个函数?

【问题讨论】:

    标签: javascript jquery events function call


    【解决方案1】:

    您不想等到元素悬停时才调用qtipqtip 插件旨在调用设置悬停行为。

    如果你想要在 qtip 中的内容在你这样做时已经存在,这可能就是你想要的:

    $("#cartItems tr.cItem").each(function() {
        var $this = $(this);
        $this.qtip({
            content: {
                text: $this.next().children().text()
            }
        });
    });
    

    这将设置 qtips 一次,其文本来自下一个元素的子内容。

    如果您想动态地执行此操作(例如,下一个元素的子内容可能会随着用户在页面上的操作而改变),那么:

    $("#cartItems tr.cItem").mouseenter(function() {
        var $this = $(this);
        $this.qtip("option", "content.text", $this.next().children().text());
    }).qtip();
    

    设置 qtips(一次),并设置一个 mouseenter 处理程序,当鼠标实际进入元素时设置 qtip 文本。

    【讨论】:

    • 是的,没错。您的第一个解决方案正是我所需要的。 next().children() 的内容已经在页面上并且是静态和隐藏的(显示:无),我将它传递给弹出窗口。非常感谢。
    猜你喜欢
    • 2012-02-17
    • 2013-09-15
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多