2017-09-04 2 views
0

Comment faire pour que l'événement modifie l'URL au lieu d'ajouter une classe avec event.target?Modifier event.target à un nouvel emplacement (url) au lieu d'une nouvelle classe

code:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>taphold demo</title> 
    <link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
    <script src="//code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
    <style> 
    html, body { padding: 0; margin: 0; } 
    html, .ui-mobile, .ui-mobile body { 
    height: 85px; 
    } 
    .ui-mobile, .ui-mobile .ui-page { 
    min-height: 85px; 
    } 
    #nav { 
    font-size: 200%; 
    width:17.1875em; 
    margin:17px auto 0 auto; 
    } 
    #nav a { 
    color: #777; 
    border: 2px solid #777; 
    background-color: #ccc; 
    padding: 0.2em 0.6em; 
    text-decoration: none; 
    float: left; 
    margin-right: 0.3em; 
    } 
    #nav a:hover { 
    color: #999; 
    border-color: #999; 
    background: #eee; 
    } 
    #nav a.selected, 
    #nav a.selected:hover { 
    color: #0a0; 
    border-color: #0a0; 
    background: #afa; 
    } 
    div.box { 
    width: 3em; 
    height: 3em; 
    background-color: #108040; 
    } 
    div.box.taphold { 
    background-color: #7ACEF4; 
    } 
    </style> 
</head> 
<body> 

<h3>Long press the square for 750 milliseconds to see the above code applied:</h3> 
<div class="box">Link</div> 

<script> 
$(function(){ 
    $("div.box").bind("taphold", tapholdHandler); 

    function tapholdHandler(event){ 
    $(event.target).addClass("taphold"); 
    } 
}); 
</script> 

</body> 
</html> 

Si je maintenir la touche enfoncée la boîte div avec le code ci-dessus, il va changer la couleur (ajouter une nouvelle classe), mais si je veux changer d'exemple. url: www.google.com à la place ..

Comment puis-je l'implémenter.

J'ai essayé de changer:

$(event.target).addClass("taphold"); 

à:

$(event.target).window.location.href='http://www.google.com'; 

mais cela ne fonctionne pas.

Une personne pour aider? :-)

Kenneth

+2

Avez-vous essayé 'window.location.href = 'http: //www.google.com';'? – Satpal

Répondre

0

Juste changer votre fonction pour accéder à l'URL de votre choix. Vous n'avez pas besoin d'utiliser event.

function tapholdHandler() { 
    window.location.href='http://www.google.com'; 
    } 
+1

Lol .. Parfois, c'est juste la solution obvoius que vous ne pouvez pas voir .. :-D Merci pour la réponse rapide. – Kenneth