jQuery点击事件不重新定向到HREF
-
30-09-2019 - |
题
我有一个带有嵌入式Flash电影的HTML页面,其中有一个按钮。此按钮在Flash中调用LNKemail的点击事件。它应该停止实际导航到新页面,但是event.preventdefault();事件处理程序中的虚假似乎对我不起作用。谁能提供洞察力?
以下示例在Chrome中工作,但在IE 7和FF中失败。在这些浏览器中,它将其重定向到一个带有对象的空白页面,因为正文和FF中的URL设置为我从Flash电影中执行的JavaScript代码。 (即:“ javascript:jquery('#lnkemail')。click();”)
以下是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>
后来在同一文件中:
<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"> </a>
</div>
解决方案 2
弄清楚了正确的方法(感谢Corneliu)这样做,因此以为我会在此处发布回去以供参考。在HTML文件中:
<script type="text/javascript">
function viewDemo() {
$.nyroModalManual({
url: 'emailSend.aspx?Type=4'
});
}
</script>
在闪存文件中:
import flash.system.Security;
cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
flash.system.Security.allowDomain("business.com");
ExternalInterface.call("viewDemo");
}
其他提示
看一下 navigateToURL
文档: http://livedocs.adobe.com/flash/9.0/actionscriptlangrefv3/flash/net/package.html#navigatetourl%28%29. 。它不打算与 javascript:
链接。
要做您想做的事,请使用 ExternalInterface.call()
.
不隶属于 StackOverflow