这些是我项目的js文件:
tablequerywrapper.js
gauge.min.js
Functions.js
colortip-1.0-jquery.js
ObjectivesFunctions.js
jquery.bxslider.js
in:Functions.js
,我有:
$('li div[id^="objective_option_conversion_points_"]').click(function () {
alert('3');
}
$('#sortedPixels tbody').sortable({
items: '> tr',
forcePlaceholderSize: true,
placeholder: 'must-have-class',
start: function (event, ui) {
// Build a placeholder cell that spans all the cells in the row
var cellCount = 0;
$('td, th', ui.helper).each(function () {
// For each TD or TH try and get it's colspan attribute, and add that or 1 to the total
var colspan = 1;
var colspanAttr = $(this).attr('colspan');
if (colspanAttr > 1) {
colspan = colspanAttr;
}
cellCount += colspan;
});
// Add the placeholder UI - note that this is the item's content, so TD rather thanTR
ui.placeholder.html('<td colspan="' + cellCount + '"> </td>');
}
}).disableSelection();
我跑了然后得到了:
Uncaught TypeError: Object #<Object> has no method 'sortable'
我读到这个错误是因为我需要JQUERY UI
,所以我补充说:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
并且错误消失了。但当我按下一个id =“objective_option_conversion_points_1”的div时,什么也没发生。
所以我试过了:
$('li div[id^="objective_option_conversion_points_"]').on('click', function () {
alert('3');
}
但没有发生任何事情。
所以我试过了:
$('li div[id^="objective_option_conversion_points_"]').live('click', function () {
alert('3');
}
然后又出现了另一个错误:
Uncaught TypeError: Object [object Object] has no method 'live'
我该如何解决?
P.S。
在我的jsfiddle中,它有效:
http://jsfiddle.net/alonshmiel/adpFV/7/
任何帮助表示赞赏!
答案 0 :(得分:2)
live()
已弃用,您的jQuery版本可能已被删除。
您可以将delegates用于此目的。
但选择器只是伤害了我的眼睛。你为什么不在那里使用#
?
$('#objective_option_conversion_points_').on('click', function(){
alert('3');
});
答案 1 :(得分:1)
使用on()
是正确的方法:
$( 'li' ).on( 'click', 'div[id^="objective ... "]', function () {
// do something.
}
我不太确定选择div的语法,但第二个参数会
将侦听所创建的任何div[id^="obj ... "]
。