Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery单击事件未重定向到href_Javascript_Jquery_Flash_Nyromodal_Preventdefault - Fatal编程技术网

Javascript jQuery单击事件未重定向到href

Javascript jQuery单击事件未重定向到href,javascript,jquery,flash,nyromodal,preventdefault,Javascript,Jquery,Flash,Nyromodal,Preventdefault,我有一个嵌入flash电影的HTML页面,里面有一个按钮。flash中的此按钮调用lnkEmail的click事件。它应该停止实际导航到一个新页面,但是event.preventDefault();从事件处理程序返回false似乎对我不起作用。谁能提供见解 下面的示例在Chrome中工作,但在IE 7和FF中失败。在这些浏览器中,它重定向到一个空白页面,其中Object[Object]作为主体,在FF中,url设置为我在Flash电影中执行的javascript代码。(即:“javascript

我有一个嵌入flash电影的HTML页面,里面有一个按钮。flash中的此按钮调用lnkEmail的click事件。它应该停止实际导航到一个新页面,但是event.preventDefault();从事件处理程序返回false似乎对我不起作用。谁能提供见解

下面的示例在Chrome中工作,但在IE 7和FF中失败。在这些浏览器中,它重定向到一个空白页面,其中Object[Object]作为主体,在FF中,url设置为我在Flash电影中执行的javascript代码。(即:“javascript:jQuery('#lnkEmail')。单击();”)

下面是Flash ActionScript中的代码

cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
   navigateToURL(
      new URLRequest(
         "javascript:jQuery('#lnkEmail').click();"
      ), 
      "_self"
   );
}
在包含HTML的页面中,有以下脚本和元素:

<script type="text/javascript">
   $(function(){
      $.nyroModalSettings({
         debug: true
      });

      $('#lnkEmail').click(function(event) {
         event.preventDefault();
         $.nyroModalManual({
            url: 'demoRequest.aspx?Type=4'
         });
         return false;
      });
   });
</script>

$(函数(){
$.nyroModalSettings({
调试:正确
});
$('#lnkEmail')。单击(函数(事件){
event.preventDefault();
$.nyroModalManual({
url:'demoRequest.aspx?Type=4'
});
返回false;
});
});
然后在同一文件中:

<div id="box_stage_home">
   <script type="text/javascript">
      $(document).ready(function() { 
         $('#HomeAnimation').flash({ 
            swf: 'Flash/index_page.swf', 
            height: 288, 
            width: 686, 
            wmode: 'transparent' 
         }); 
      });
   </script>
   <div id="HomeAnimation"><!--IE 6.0--></div>
   <a href="emailSend.aspx?Type=4" id="lnkEmail">&nbsp;</a>
</div>

$(文档).ready(函数(){
$('#HomeAnimation').flash({
swf:'Flash/index_page.swf',
身高:288,
宽度:686,
wmode:'透明'
}); 
});

查看
导航URL
文档:。它不打算与
javascript:
链接一起使用


要想做你想做的事情,请使用
ExternalInterface.call()

找到了正确的方法(谢谢corneliu),所以我想我会把它放回这里作为参考。在html文件中:

<script type="text/javascript">
   function viewDemo() {
      $.nyroModalManual({
         url: 'emailSend.aspx?Type=4'
      });           
   }
</script>

忘了提到这在Chrome中是有效的。但在IE7和FF中,它重定向到一个带有Object[Object]和url为javascript:jQuery(“#lnkEmail”)的页面;。欢迎来到堆栈溢出!您可以通过单击问题右下角的
edit
链接来编辑原始帖子-无需对此类内容进行评论。添加void(0);在调用navigateToURL()之后,最终成为解决方案。空隙(0);告诉浏览器不要专门打开新页面。在Flash文档页面的某个地方找到了这个,现在记不起来了。哦,是的,必须将allowScriptAccess=“always”添加到flash变量中。我现在也看到了如何使用ExternalInterface来做这件事,这看起来确实是正确的方法。。。添加void(0);在调用了lnkEmail元素上的click()之后,javascript内部最终成为了解决方案。“javascript:jQuery('#lnkEmail')。click();void(0);”太棒了,嘿,Rob,你应该能够接受自己的答案。这将有助于任何其他人谁可能找到这个搜索。
import flash.system.Security;

cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(event:MouseEvent):void {
   flash.system.Security.allowDomain("business.com");
   ExternalInterface.call("viewDemo");
}