繁体   English   中英

点击是否有任何回调函数?

[英]Is there any callback function on click?

假设我有以下链接:

<a  href="#shippingaddress" onclick="return validateBillingAddress(document.addressInput,'ADDR_CONTINUE_ACTION',event);" >

编辑
我正在使用多页方法将不同的section(divs)显示为该validate函数中的页面 ,我正在验证表单,如果一切正常,则显示一个隐藏的<div>并在<div>可见后显示<spans>由jquery mobile框架应用,直到div,除非该div被隐藏,否则没有span,但是随着div变得可见,jQuery mobile被应用到它并附加了一些spans..i,需要访问此spans:

<span>blah</span>

因此,我想在click事件后更改此<span>的文本,因为<span>click事件后显示。

那么有什么办法可以做到这一点?

在您的验证功能中,您可以执行以下操作:

 <div id="someDiv" style="display:none">
     <span id="someSpan"></span>
 </div>

 <script type="text/javascript">
     function validateBillingAddress() {
         var valid = true;
         ... // do whatever you need to validate your input here and update valid variable

         if (valid) {
             $('#someDiv').show();  
             // if the validation is succesful invoke some function in the framework here
             $.ajax({
                 ...
                 success: function() {
                     //append the span to the div here
                     $(#someDiv').append('The span HTML content');
                 },
                 ...
             });                

         }
     }
 </script>

不要使用内联JavaScript ...

$("#validate").click(function(){
    // validate billing address
});

<a id="validate">Validate</a>

要创建一个跨度并将一个侦听器附加到该跨度,然后附加到div:

$("<span />").click(function(){
    $(this).text("New Text");
}).appendTo("#divToShow");

编辑:

由于您没有提供太多信息,因此我唯一可以帮助您的是:

1-要访问div中的所有范围,请执行以下操作:

$("#myDivId span")

2-要仅访问属于div直属子范围的跨度,请执行以下操作:

$("#myDivId > span")

3-要仅访问div中的最后一个范围,请执行以下操作:

$("#myDivId span:last")

不仅如此,仅当您提供一些实际生成的代码时

您实际上可以将validateBillingAddress嵌入到另一个函数中,该函数也包含“ callback”行

function doValidate( event ) {
  validateBillingAddress(document.addressInput,'ADDR_CONTINUE_ACTION',event);
  $('#spanElement').text( 'new text' );
}

接着

<a onclick="return doValidate( event );" >

如果您避免使用onclick属性来支持非侵入性事件处理(例如,

$('#aElement').click( function( e ) {
  doValidate( e );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM