我有一个使用onclick fct的按钮:
<input type="button" onclick="document.location = 'mylocation.html';" class="button urlToMainDiv" value="Back">
我想使用jQuery(基于使用的类)捕获被调用的url,以便能够使用jQuery.load。
我尝试了很多选择器,但我无法捕获被叫网址。
喜欢这个:
jQuery(".urlToMainDiv input").click(function(e){
e.preventDefault();
load_ajax_content(this.href,divId,1);
});
任何ID或解决方案?
感谢您的帮助。
答案 0 :(得分:2)
$('input.button').each(function() {
var $this = $(this),
url = $this.attr('onclick').split('=')[1];
$this.removeAttr('onclick').data('url', url);
}).on('click', function(e) {
$('#div').load( $(this).data('url') );
});
答案 1 :(得分:1)
你不能阻止jQuery中的本机onclick处理程序,你必须删除它以确保按钮没有重定向,并且在你删除它之前你必须得到URL,然后使用load()
函数中的网址,如下所示:
var url = $('.urlToMainDiv').attr('onclick');
$('.urlToMainDiv').attr('onclick', ''); // removes the onclick function
$('.button').on('click', function(e) {
e.preventDefault();
url = url.split("'")[1];
$('#elementId').load(url);
});
答案 2 :(得分:0)
也许我错过了一些东西,但只需在onclick
中调用自定义函数:
<input type="button" onclick="doLoad('mylocation.html'); return false;" class="button urlToMainDiv" value="Back">
function doLoad(url){
// now use jQuery load
}
如果您无法修改HTML,只需覆盖onclick
:
$('input.urlToMainDiv').attr('onclick', "doLoad('mylocation.html')");