2016-07-01 2 views
-1

J'ai une fenêtre qui doit être cachée s'il y a eu un clic sur mon site ou sur l'Iframe. Ce que je voudrais faire est d'écrire une méthode comme ceci:Jquery - instructions conditionnelles multiples pour une fonction

if(click on my site || click on Iframe){ 
    hide window 
}  

J'ai essayé ce code, mais cela ne fonctionne pas:

if($(document).click()===true || $("#clientframe").contents().find(document)===true)(function(){ 
    $("#img-window").hide(); 
}); 
+0

Que diriez-vous simle pour ajouter une nouvelle auj? –

+2

il n'est pas clair que ce que vous essayez d'atteindre –

+0

Qu'est-ce que '.method()'? – guest271314

Répondre

0

Votre question est absolument erronée. L'appel de fonction est une déclaration. Vous ne pouvez pas mettre la déclaration comme condition. Sauf qu'il retourne quelque chose. Et ils sont appel d'événement. Donc, il n'y a pas de bon endroit pour cela si la condition. Peu importe que vous utilisiez un opérateur AND ou OR. Si vous voulez cacher quelque chose sur le clic de l'élément html. Fais quelque chose comme ça.

HTML

<button id='mysite' onclick='hided()'></button> 
<button id='iframe' onclick='hided()'></button> 

JAVASCRIPT

function hided() 
{ 
// hide that dialog 
}   
0

vous placez deux méthodes comme conditions. J'éviterais cela autant que possible. Les retours de méthodes peuvent être assez compliqués en javascript. Lookup le javascript table de vérité

https://dorey.github.io/JavaScript-Equality-Table/

Utilisez plutôt des rendements plus concrets de vos méthodes. Quelque chose comme

$("#identifier").method()(function(){ 
    execute code here 
    return true; 
}); 

De cette façon, lorsque vous vérifiez le résultat de votre instruction if, vous saurez ce qui se passera.