正如标题所说,是否有可能阻止针对特定条件的Href页面更改。
例如;如果我有一个div
<div href="#nextpage.html">Click me</div>
是否可以将if语句设置为仅允许此div的某个条件转到下一页?
例如
var canclick ="can_click";
if(canclick=="can_click"){
// Then allow the href to process to the next page.
} else {
// Have an alert up to say that the user can not proceed to the next page. And prevent the href to move to the next page.
}
修改
$("#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");
}
})
答案 0 :(得分:1)
如果你使用jQuery,你会做类似的事情:
$(document).ready(function() {
$("a").click(function(e) {
if ($("#enable").is(":checked")) {
window.location = e.href;
} else {
e.preventDefault();
}
})
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<input id="enable" name="check" type="radio" value="Enable" />Enable
<br>
<input id="disable" name="check" type="radio" value="Disable" />Disable
<br/>
<a href="http://stackoverflow.com">Stackoverflow</a>
</body>
&#13;
答案 1 :(得分:1)
这是一个非常简单的例子。如果满足初始条件(i = 0
),则不会触发单击功能。然后,再次点击该链接和i != 1
,以便继续正常的<a>
导航。
i = 0;
$(document).on('click', 'a', function(e) {
if (i == 0) {
e.preventDefault();
alert('i = 0');
} else {
alert('i = ' + i);
}
i++;
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="//stackoverflow.com">Stackoverflow</a>
&#13;