Javascript 在特定条件下是否可以阻止Href更改页面?

Javascript 在特定条件下是否可以阻止Href更改页面?,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,正如标题所说,是否可以针对特定条件阻止Href更改页面 比如,;如果我有一个div <div href="#nextpage.html">Click me</div> 编辑 编辑: 单击事件的唯一方式是 <a href="#nextpage.html" onClick="clicked();"></a> function clicked(){ alert(detected); } 如果您使用的是jQuery,则可以执行类似的操作:

正如标题所说,是否可以针对特定条件阻止Href更改页面

比如,;如果我有一个div

<div href="#nextpage.html">Click me</div>
编辑

编辑:

单击事件的唯一方式是

    <a href="#nextpage.html" onClick="clicked();"></a>

function clicked(){
alert(detected);

}

如果您使用的是jQuery,则可以执行类似的操作:

$(文档).ready(函数(){
$(“a”)。单击(功能(e){
如果($(“#启用”)。为(“:选中”)){
window.location=e.href;
}否则{
e、 预防默认值();
}
})
})

使可能

使残废

这是一个非常简单的例子。如果满足初始条件(
i=0
),则不会触发单击功能。然后,再次单击该链接,然后单击
i!=1
,所以正常的
,所以我添加了一个点击事件到它??A on('click',function(){}),然后将if语句放入其中,并将click事件标记为该div的id???是的,
$('div[href]')。on('click',function(){window.location.hash=$(this.attr('href');});
非常感谢,我现在就尝试一下。谢谢我在上面做了编辑(我只是放了一个简单的点击事件来检测锚定标记是否被点击,但它没有被检测到),我尝试了这些建议,我的其他锚定标记在点击时被检测到,但我希望点击的锚定标记没有被检测到。我添加了一个id=“anchor”来检测它。但它没有被检测到。尝试调用
e.stopPropagation()
调用
e.preventDefault()
后,甚至不会检测到click函数。我要检测click函数的唯一方法是添加一个onClick=“clicked();”在锚定标记中…但它仍然会移动到下一页。我是否有办法阻止在函数中进行页面转换?嗨,这就是我尝试的…但是由于一些非常奇怪的原因,锚定标记甚至没有检测到点击…我不确定是否是因为它是在页面加载后动态生成的…但它不应该有任何效果ct在右边??如果它是动态加载的,您需要执行类似于
$(文档)的操作{
。单击功能需要绑定到页面加载中存在的元素。请参见上面的编辑。我认为它工作缓慢,仍在修复,但现在它检测到了单击!很好。如果它是
a
元素,则只需提供
preventDefault()
如果满足条件-否则,让它按照
a
元素通常的行为。
 $("#anchor").on('click', function(e) { 

 alert("clicked2");

})
    <a href="#nextpage.html" onClick="clicked();"></a>

function clicked(){
alert(detected);

}
 if($("#anchor").data('clicked'))
{
alert("again clicked");
}    
             $("#anchor").on('click', function(e) { 

 var $this = $(this);
    if($this.data('clicked')) {
       alert("clicked");
    }

})