添加onclick函数以在JavaScript中转到url?


100

当用户将鼠标悬停在该字段上时,我使用了一些精美的JavaScript来突出显示该字段。您能否告诉我是否有添加onclick功能的方法,该功能将充当链接并转到URL?

<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');
                $('a#read_message.php').click(function(){ URL(); });
            });
        });
        </script>

我如何获取url值,是表单元格之一中的链接还是它们都转到相同的url
Renon Stewart 2012年

2
您在“#read_message.php”中有一个非常奇怪的ID?
亚历克斯·吉尔

Answers:


169

尝试

 window.location = url;

也使用

 window.open(url);

如果要在新窗口中打开。



33

在jquery中将用户发送到其他URL,您可以这样做:

$("a#thing_to_click").on('click', function(){
     window.location = "http://www.google.com/";    
});

这种方法也可以工作,但是以上是最近更新的更正确的方法

$("a#thing_to_click").click(function(e){
         e.preventDefault();
         window.location = "http://www.google.com/";    
});


8

的HTML

<input type="button" value="My Button" 
onclick="location.href = 'https://myurl'" />

MVC

<input type="button" value="My Button" 
onclick="location.href='@Url.Action("MyAction", "MyController", new { id = 1 })'" />

6

如果您想在新标签页中打开链接,则可以:

$("a#thing_to_click").on('click',function(){
    window.open('https://yoururl.com', '_blank');
});

3

如果您正在处理<a>标签,并且想中断默认值href,则应该this改用它。

转到默认网址(yahoo):

<a href="https://yahoo.com" onclick="location.href='https://google.com';"> 

转到新网址(google)onclick

<a href="https://yahoo.com" onclick="this.href='https://google.com';">

通过使用this该方法,您将中断当前浏览器onclick事件并进行更改,href然后再继续使用的默认行为<a href='...


@Darvydas,您好,上面的代码按预期工作,但是如何等待页面加载以对新加载的URL执行另一个事件。
FayazMd

@FayazMd不知道您要做什么?通常,如果它的JavaScript的DOM内(DOM的元素中currenty a)的网页,你无法控制的下一个页面上JS的行为(如果你将浏览器重定向页面)。当用户离开页面时,它就完成了。除非您也控制第二个页面,否则可能会监听每个用户的页面加载,并检查document.referrer是否合适。另外,如果您在浏览器中使用诸如扩展程序/附件之类的功能,并且可以侦听页面URL的更改,则可能是另一回事。
DarvydasŠilkus

嗨@Darvydas,谢谢您的答复。我想尝试如下。在浏览器控制台中,使用具有自执行功能的javascript可能是1)我想加载我的网站网址之一,以及2)等到它完全加载3),以便该网页上有一个表,我需要从中提取所有行。我可以执行第1步,如果我已经在已加载的网站上,那么在控制台中,我可以提取表行(使用javascript代码)。但是,当我试图写代码顺序进行上述步骤,在步骤2失败
FayazMd

2

不确定我是否理解这个问题,但是您的意思是这样吗?

$('#something').click(function() { 
    document.location = 'http://somewhere.com/';
} );

是的,基本上,javascript设置为当用户在表内容/信息上滚动/悬停时突出显示表字段。我想使其看起来突出显示的字段是可单击的,因此它们链接到页面。如果这更有意义。对不起,如果没有。
约翰·泰勒

解决了。只是略微修改了您的代码,而不是使用#我在tr中放入代表表格的表格,它起作用了。谢谢
约翰·泰勒

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.