You can bind to right-click and prevent the default action. For implementing the same please checkout this question. However this is only feasible if you have control over the html page inside the iframe.
A viable alternative The only alternative I know of is the seamless
attribute in iframe (new HTML5 addition) which is not consistently supported across browsers. (Current browser support is limited to chrome).
For other browsers you can do something superficial like :
iframe[seamless]{
background-color: transparent;
border: 0px none transparent;
padding: 0px;
overflow: hidden;
}
And anyways, there is no full-proof solution because the source of html is always available to the end-user. Please try to re-implement your solution using ajax if possible. If you are showing third party site contents in your own site, then I would strongly recommend against camouflaging the distinction so that content appears to be a part of your site.
[update]
If you do really have a compelling reason to use iframes, this presentation by creators of disqus commenting platform provides an insightful approach towards emulation of seamless iframes. The key focus of the presentation is the use of window.postMessage
to enable communication between parent html document and iframe.