繁体   English   中英

如何防止href重定向onclick

[英]How can I prevent href redirect onclick

我有一个div,它的行为类似于按钮(.butt),当我单击它时,它应防止href重定向并打开输入。 它工作正常,它仍然重定向,当我从重定向返回时,输入出现,但是当我按输入时,它仍然重定向。

我怎样才能使它在我按div时禁用重定向,并让我在输入中插入一个值来更改值?

 var x; var h = 0; // blur fires multiple times, use h to count and fire once var url = 'up.php'; $(".butt").on('click', function(event) { event.preventDefault(); $(".tk").on('click', function(d) { d.stopPropagation(); var x = $(d.target); x.html('<input id="edit2" style="width: 40px;" value="'+x.text()+'">'); var this_id = x.context.id; $("#edit2").on('blur', function(d) { if (h < 1) { h = h+1; d.stopPropagation(); $(d.target.parentElement).text(d.target.value); $.get(url, {id: this_id, value: d.target.value}) .done(function(d){ if(d == undefined || d != 1) { alert('Something went wrong, check your data and results. '+d);}}) .fail(function(d){ alert('error');}); $("#edit2").off('blur'); } }); h = 0; }); }); 
 .butt{width:15px;height:15px; background-color:red;border-radius: 50%;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="butt"> </div> <a href="http://www.google.com" class="tk">click</a> 

您可以使用preventDefault

event.preventDefault()方法停止发生元素的默认操作。

d.preventDefault();

 var x; var h = 0; // blur fires multiple times, use h to count and fire once var url = 'up.php'; $(".butt").on('click', function(d) { $(this).on("click", function(){return false;}) $(".tk").on('click', function(d) { d.preventDefault(); d.stopPropagation(); var x = $(d.target); x.html('<input id="edit2" style="width: 40px;" value="'+x.text()+'">'); var this_id = x.context.id; $("#edit2").on('blur', function(d) { if (h < 1) { h = h+1; d.stopPropagation(); $(d.target.parentElement).text(d.target.value); $.get(url, {id: this_id, value: d.target.value}) .done(function(d){ if(d == undefined || d != 1) { alert('Something went wrong, check your data and results. '+d);}}) .fail(function(d){ alert('error');}); $("#edit2").off('blur'); } }); h = 0; }); }); 
 .butt{width:15px;height:15px; background-color:red;border-radius: 50%;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="butt"> </div> <a href="http://www.google.com" class="tk">click</a> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM