我的网站上有一个Jquery对话框。此对话框用于获取用户注释。目前,我正在使用以下代码来执行Javascript函数,并且工作正常:
**<a href="#dialog" name="modal">Rate this</a>**
<div id="dialog" class="window"></div>
<div id="mask"></div>
它调用的Javascript代码如下:
$(document).ready(function() {
//select all the a tag with name equal to modal
$('a[name=modal]').click(function(e) {
//Cancel the link behavior
e.preventDefault();
//Get the A tag
var id = $(this).attr('href');
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({ 'width': maskWidth, 'height': maskHeight });
//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow", 0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH / 2 - $(id).height() / 2);
$(id).css('left', winW / 2 - $(id).width() / 2);
//transition effect
$(id).fadeIn(2000);
});
});
//if close button is clicked
$("input[id$='btnClose']").click(function(e) {
e.preventDefault();
$('#mask').hide();
$('.window').hide();
});
由于href没有服务器端点击事件,我需要使用链接按钮调用javascript。我尝试了几种方法但未能得到实际结果。
要结束我需要将此调用**<a href="#dialog" name="modal">Rate this</a>**
更改为“链接”按钮,以便我可以捕获点击事件。
答案 0 :(得分:0)
您可以使用RegisterStartupScript执行此操作,它允许您在服务器端调用结束时运行Javascript。这里可以找到一个例子&gt; http://www.dotnetcurry.com/ShowArticle.aspx?ID=200
我强烈建议您甚至在用户点击之前尝试操作链接,即加载页面时,而不是将锚标记转换为链接按钮。
当页面加载时,您应该在那时检查请求客户端是否是注册用户。如果他然后显示相同的**<a href="#dialog" name="modal">Rate this</a>**
并在
<div id="dialog" class="window">//Rating stuff goes here</div>
如果您发现用户未注册,则您可以隐藏链接或更改模式div以显示,您未注册,请单击此处进行注册。
希望它有意义。