Php 不使用click函数运行jquery

Php 不使用click函数运行jquery,php,jquery,function,Php,Jquery,Function,我在一个链接中使用expose,代码如下: $(document).ready(function() { var triggers = $("a[rel]").overlay({ expose: { color: '#212121', loadSpeed: 200, opacity: 0.9 }, closeOnClick: false }); }); 链接是: <div id="triggers"><a h

我在一个链接中使用expose,代码如下:

$(document).ready(function() {
  var triggers = $("a[rel]").overlay({
    expose: {
      color: '#212121',
      loadSpeed: 200,
      opacity: 0.9
    },
    closeOnClick: false
  });
});
链接是:

<div id="triggers"><a href="" rel="#pop_member">Click here</a></div>
并以php打印:

echo '<script type="text/JavaScript">run_expire();</script>';
echo“run_expire();”;
但这不起作用。

试试这个:

echo '<script type="text/JavaScript">$(function () { run_expire(); });</script>';
echo'$(函数(){run_expire();});

问题在于
run\u expire
函数仅在
document.ready()函数中定义,因此脚本标记中的代码找不到它

这里不需要使用
$(document).ready()
。更好的解决方案是:

function run_expire(){
  var triggers = $("#pop_member").overlay({
    expose: {
        color: '#212121',
        loadSpeed: 200,
        opacity: 0.9
    },
    closeOnClick: false
  });
}
您可能希望在运行
run\u expire
之前确保文档已准备就绪,您可以这样做:

echo '<script type="text/JavaScript">$(run_expire);</script>';
<a href="" class="pop_member">
如果希望选择器工作,则必须执行以下操作:

<a href="" id="pop_member">
使用此选择器:

$(".pop_member")
$("a[rel='#pop_member']")
或者,如果您确实希望以编写链接的方式选择链接,则可以使用此选择器:

$(".pop_member")
$("a[rel='#pop_member']")
编辑3
您真正的问题已在中说明,那就是jQuery工具库没有被正确使用。您需要将
api:true
传递给overlay函数,并对overlay函数的返回值调用
.load()
,以便在页面加载时以编程方式显示overlay。

这是因为
run\u expire
函数是在$(document).ready事件处理程序的范围内定义的

您可以在以下外部定义您的函数:

function run_expire(){
    var triggers = $("#pop_member").overlay({
        expose: {
            color: '#212121',
          loadSpeed: 200,
          opacity: 0.9
        },
        closeOnClick: false
    });
}

$(document).ready(function() {
    run_expire();
});

这将在全局范围内定义
run\u expire
,并且您的php生成的脚本将工作。

非常感谢,但是还没有工作,我需要公开这种情况,无需单击,但在页面加载时会自动进行。我放在链接中的代码只是为了显示我所拥有的东西的一个示例。@Mango:这将使它在页面加载时调用run\u expire函数:
$(run\u expire)您只需确保run\u expire在全局范围内定义。但在上面的代码中,它在范围内是全局的,对吗?它不起作用,也许jquery.tools.min.js只对链接起作用,我尝试了所有的方法但没有起作用。我认为问题出在:$(“#red”).overlay({因为工作只是一个带有:$([rel]”)的链接。overlay({@Mango:No,在你发布的代码中,run\u expire只存在于“
$(document)的内部。ready(function(){}