我的网站上有一个收件箱部分,用户可以点击主题标题打开一个窗口并阅读他们的邮件。
我已经放入了一个javascript函数,可以在移动光标时突出显示收件箱消息。我已经使突出显示可点击,并且假设转到相同的位置,就好像用户点击了主题链接,当它进入窗口read_message.php时,它没有加载消息ID而消息不会显示。
这是有效的主题链接:
<?php echo "<strong><a href=\"read_message.php?msg={$inbox['message_id']}\">{$inbox['subject']}</a></strong>"; ?>
并且继承了无效链接的javascript:
<script>
$(function() {
$('tr').hover(function() {
$(this).css('background-color', '#eee');
$(this).contents('td').css({'border': '0px solid red', 'border-left': 'none', 'border-right': 'none'});
$(this).contents('td:first').css('border-left', '0px solid red');
$(this).contents('td:last').css('border-right', '0px solid red');
},
function() {
$(this).css('background-color', '#FFFFFF');
$(this).contents('td').css('border', 'none');
$('tr').click(function() {
document.location = "<?php echo "read_message.php?msg={$inbox[0]}" ?>";
} );
});
});
</script>
希望有人能让我知道我哪里出错了。感谢。
答案 0 :(得分:1)
首先,您应该移动.click()
函数,使其不在.hover()
函数内 - 否则每次鼠标离开行时都会设置点击处理程序,并且第一次无效你老鼠了。
一旦完成,你可以这样做:
$("tr").click(function() {
location.href = $(this).find("a[href*='read_message.php']").attr("href");
});
(.find()
语法不是100%肯定,因为我没有真正使用jQuery,但这应该有帮助)