Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当前从图像中删除html链接_Javascript_Php_Html_Css_Hyperlink - Fatal编程技术网

Javascript 当前从图像中删除html链接

Javascript 当前从图像中删除html链接,javascript,php,html,css,hyperlink,Javascript,Php,Html,Css,Hyperlink,情况: 我有一个图像,周围有一个链接 链接目的地由PHP脚本生成 加载页面时,应禁用该链接。稍后,(当用户填写某些表单时)应再次启用链接 当链接被禁用时,我不希望有任何链接行为(鼠标指针在悬停时不改变等…) 代码 <a class="link" href="destination_generated_by_php_script"> <img src="image_source_path"> </a> 当我隐藏链接时,它

情况:

  • 我有一个图像,周围有一个链接
  • 链接目的地由PHP脚本生成
  • 加载页面时,应禁用该链接。稍后,(当用户填写某些表单时)应再次启用链接
  • 当链接被禁用时,我不希望有任何链接行为(鼠标指针在悬停时不改变等…)
代码

    <a class="link" href="destination_generated_by_php_script">
        <img src="image_source_path">
    </a>

当我隐藏链接时,它也会隐藏图像(我不想要的)。我想,以后只需显示图像并将锚围绕它。但我想,有一个更简单的答案。

你可以尝试如下:

<a class="link" href="destination_generated_by_php_script">
    <img src="image_source_path">
</a>
现在,当您希望单击工作时,只需执行以下操作:

flag = true;
您可以尝试以下方式:

<a class="link" href="destination_generated_by_php_script">
    <img src="image_source_path">
</a>
现在,当您希望单击工作时,只需执行以下操作:

flag = true;

您可以通过从链接中删除
href
来解决此问题。这样它就不会显示为眼睛的链接,但CSS仍然适用。如果这样做,请记住将其保存在某个位置,以便可以正确恢复

var href;
href = $(".link").attr("href");

//remove href attribute and store it in data
$(".link").removeAttr("href").data("href", href); 
当你想再次激活链接时,你可以这样做

var href;
href = $(".link").data("href");
$(".link").attr("href", href);

数据也可以删除(通过
removeData()
),但不是必需的。

您可以通过从链接中删除
href
来解决此问题。这样它就不会显示为眼睛的链接,但CSS仍然适用。如果这样做,请记住将其保存在某个位置,以便可以正确恢复

var href;
href = $(".link").attr("href");

//remove href attribute and store it in data
$(".link").removeAttr("href").data("href", href); 
当你想再次激活链接时,你可以这样做

var href;
href = $(".link").data("href");
$(".link").attr("href", href);

数据也可以删除(通过
removeData()
),但不是必需的。

根据需要在文档中使用此功能

event.preventDefault();
就像你可以使用它如下

$('#link').click(function(event){
    if( form is not filled ){
        event.preventDefault();
    }
    else{
         //do nothing
    }
})

根据需要在文档中使用此功能

event.preventDefault();
就像你可以使用它如下

$('#link').click(function(event){
    if( form is not filled ){
        event.preventDefault();
    }
    else{
         //do nothing
    }
})

这是一个很好的答案,但我的网站上有几个链接,我希望这种行为。抱歉,在我的问题中没有提到这一点。@Hansizimmer,如果您为不应该这样做的链接提供不同的类,或者为应该这样做的链接提供相同的类。应该没有problem@HansiZimmrer您可以通过
.each()
轻松地对它们进行迭代,如果它们共享一个类或其他东西,则没有问题;)谢谢你的帮助!谢谢,我会尝试一下:)这是一个很好的答案,但我的网站上有几个链接,我希望这种行为。抱歉,在我的问题中没有提到这一点。@Hansizimmer,如果您为不应该这样做的链接提供不同的类,或者为应该这样做的链接提供相同的类。应该没有problem@HansiZimmrer您可以通过
.each()
轻松地对它们进行迭代,如果它们共享一个类或其他东西,则没有问题;)谢谢你的帮助!谢谢,我来做一点实验:)谢谢。我使用了
preventDefault()函数。但我没有使用全局变量。我已经用
解除了“单击时不做任何事情”事件的锚定。解除绑定(“单击”)谢谢。我使用了
preventDefault()函数。但我没有使用全局变量。我已经用
解除了“单击时不做任何事情”事件的锚定。解除绑定(“单击”)