Javascript PrototypeJS中的停止链接行为,如果通过条件,则使链接正常工作
我在click observer中使用PrototypeJS的e.stop()函数,我做了一些检查,如果通过了一些条件,我希望链接表现正常,但阻止所有其他元素触发 例如:Javascript PrototypeJS中的停止链接行为,如果通过条件,则使链接正常工作,javascript,prototypejs,Javascript,Prototypejs,我在click observer中使用PrototypeJS的e.stop()函数,我做了一些检查,如果通过了一些条件,我希望链接表现正常,但阻止所有其他元素触发 例如: <script type="text/javascript"> document.observe('dom:loaded',function(){ if ($$('a') != undefined) { $$('a').invoke('observe','click', function(e)
<script type="text/javascript">
document.observe('dom:loaded',function(){
if ($$('a') != undefined) {
$$('a').invoke('observe','click', function(e) {
if (SOME CONDITION){
//NORMAL LINK FUNCTIONALITY
//STOP PARENT
} else {
e.stop();
//CALL FUNCTION
}
});
}
if ($$('.parent') != undefined) {
$$('.parent').invoke('observe','click', function(e) {
alert('test');
});
}
});
</script>
<div class="parent">
<a href="javascript:popUp('test.html')">Test 1</a>
<a href="test.html">Test 2</a>
<a href="test.html" target="_blank">Test 3</a>
</div>
document.observe('dom:loaded',function()){
如果($$('a')!=未定义){
$$('a')。调用('observe','click',函数(e){
如果(某些条件){
//正常链接功能
//阻止父母
}否则{
e、 停止();
//调用函数
}
});
}
如果($$('.parent')!=未定义){
$$('.parent')。调用('observe','click',函数(e){
警报(“测试”);
});
}
});
所发生的事情是父级在单击任何链接时触发。e.stop()停止该操作,但也停止正常的链接行为。有没有办法让链接正常运行,但停止所有其他链接 捕获事件时,通常只需“返回true;”即可获得正常行为。问题是我需要停止父观察者。停止事件,然后在某些条件下返回true,否则返回false。不幸的是,这不起作用。它会完全停止链接,不管return true是否存在。只需使用“e.stopPropagation();”而不是“e.stop();”->