Javascript 在特定条件下是否可以阻止Href更改页面?
正如标题所说,是否可以针对特定条件阻止Href更改页面 比如,;如果我有一个divJavascript 在特定条件下是否可以阻止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,则可以执行类似的操作:
<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");
}
})