目前从图像中删除html链接

时间:2014-03-28 12:46:26

标签: javascript php html css hyperlink

情况:

  • 我的图片周围有链接。
  • 链接目标由PHP脚本生成。
  • 页面加载时,应禁用该链接。稍后,(当某些表单由用户填写时)应该再次启用该链接。
  • 当链接被禁用时,我不想要任何链接行为(悬停时没有鼠标指针改变......)

代码

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

当我隐藏链接时,它也会隐藏图像(我不想要的)。我想过,只是显示图像并稍后将锚包裹起来。但我想,这是一个更简单的答案。

3 个答案:

答案 0 :(得分:2)

您可以尝试:

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

和jQuery脚本:

var flag = false; //Global (Page Scope)
$('.link').click(function(e){
   if(flag){
     window.location.href = $(this).attr('href');
   }else{
     e.preventDefault();
  }
});

现在,当您希望点击工作时,只需执行以下操作:

flag = true;

答案 1 :(得分:1)

您可以通过从链接中删除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);

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

答案 2 :(得分:1)

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

event.preventDefault();

就像你可以使用它如下

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