编辑以支持使用 href
你不能那样做,因为 jGrowl 不会是模态的并且会阻止你页面的行为。
但是,您可以在选择完成后为要执行的代码创建一个函数,然后从通知中调用它
检查这个例子http://jsfiddle.net/rcxVG/11/
html
<body>
<a href="javascript: startDemo(1); alert('a');">link for 1</a><br>
<a href="javascript: startDemo(2); ">link for 2</a><br>
Will we notify again<div id="will-notitfy-again">yes</div>
<br>
now... If you want to return then
<a href="http://www.google.com" data-confirmed="false" onclick="return returnModal(this);">click me</a>
</body>
js
function startDemo(id)
{
$.jGrowl("to do not notify again click <a href='javascript:notFor("+id+")' onclick='closeNotif(this);'>here</a>!", { sticky: true });
}
function notFor(id){
alert("not anymore for "+id);
$("#will-notitfy-again").html("remember, notFor was hit for"+id);
}
function closeNotif(panel){
$(".jGrowl-notification").has(panel).find(".jGrowl-close").click();
}
var counter=0;
var confirmedAttr="data-confirmed";
function returnModal(field){
var $field=$(field);
if($field.attr(confirmedAttr)=="true"){
location.href=$field.attr("href");
}else{
counter++;
//save the element somewhere so we can use it (don't know if it has an unique-id)
$(document).data("id"+counter,$field);
$.jGrowl("click <a href='javascript:confirmClick("+counter+")' onclick='closeNotif(this);'>here</a> to go to google!", { sticky: true });
return false;
}
}
function confirmClick(variableId){
var $field=$(document).data("id"+variableId);
$field.attr(confirmedAttr,"true");
$field.click();
}
让我知道这是否足够好