[英]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.