我有一个href
标记,其中包含指向其他网页的链接。
<a name="mylink" class="mylink" href="path-to-new-page.html">Link to new page</a>
我在此尝试实现的是,当用户点击链接时,会触发onclick事件。像回报一样确认。
onclick="return confirm('would you like to see our help center first?')"
如果用户点击“是”,则会将其重定向到help.html页面。
如果他点击“否”,他将被发送到原始href
的链接。
我必须使用弹出窗口而不是警告框来使用jquery吗?
答案 0 :(得分:1)
首先回答您的第二个问题,您不必这样做,因为您可以在Javascript中获得内联警报框的结果。
至于<a>
标签上的onclick,听起来就像一个按钮。语法与链接相同,除非您执行以下操作:
<button onclick='myFunction()'>Click Here</button>
然后你的javascript看起来像:
function myFunction(){
if(confirm("Would you like to see our help center first?")){
// what happens if they select yes //
document.href.location = "helpcenter.html";
}else{
// what happens if they select no //
document.href.location = "linktarget.html";
}
}
当然,helpcenter.html
是您的帮助中心,linktarget.html
是该链接的原始目标网址。
confirm()
只返回一个布尔值,表示他们是否按下了对象(true
)或取消了对话框顶部的x
,false
)和{{ 1}}与说document.href.location
答案 1 :(得分:1)
免责声明:我在此演示中使用了个人网址,将来可能会消失,但其名称仍应易于理解。
没有jQuery
var links = document.getElementsByClassName('myLink');
for(var i=0, l=links.length; i<l; i++){
links[i].addEventListener('click', function(e){
var goToHelpCenter = confirm('Would you like to see our help center first?');
if(goToHelpCenter){
// Prevent the link from going to its default href
e.preventDefault();
// Go to help center
window.location.href = 'http://shrt.tf/help-center.html';
}
// Otherwise, do nothing.
});
}
&#13;
<a class="myLink" href="http://shrt.tf/page.html">Click me</a>
&#13;
jQuery版
$('.myLink').click(function(e){
var goToHelpCenter = confirm('Would you like to see our help center first?');
if(goToHelpCenter){
// Prevent the link from going to its default href
e.preventDefault();
// Go to help center
window.location.href = 'http://shrt.tf/help-center.html';
}
// Otherwise, do nothing.
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="myLink" href="http://shrt.tf/page.html">Click me</a>
&#13;