jquery-seat-charts 使用(去除第一个元素获取焦点)

问题:每次点击空白处,第一个座位元素就会获取焦点并变色

解决: 注释掉获取焦点方法(如下),找到源码大概在474行左右

	fn.focus(function() {
			if (fn.attr('aria-activedescendant')) {
				seats[fn.attr('aria-activedescendant')].blur();
			}
			fn.find('.seatCharts-seat:not(.seatCharts-space):first').focus();
//			seats[seatIds[0]].focus();
		});

关于单选问题(即一次只能选择一个元素):

function initRooms(){
	var price = 100; //房间价
	var beforeroom;
	var $cart = $('#rooms_selected'), //房间区
	$rooms_num = $('#rooms_num'), //房间数
	$total_price = $('#rooms_price'); //总金额
	$roomNo = $('#roomNo');//房间号
	$roomMsg = $('#roomMsg');//房间信息
	
	var sc = $('#room_area').seatCharts({
		map: [//房间结构图 f 代表已入住;e 代表未入住; 下划线 "_" 代表过道
//			'fffffffffffffffffffffffffffff',
			'eeeeeeeeeeeeeeffffffffff',
			'ffeeeeeefeeeeeffffffffff'
		],
		seats: {//设置已入住和未入住相关属性
			f: {
				price: 125,
				classes: 'first-class',
				category: '已入住'
			},
			e: {
				price: 70,
				classes: 'economy-class',
				category: '未入住'
			}
		},
		naming: {//设置行列等信息
			top: false, //不显示顶部横坐标(行) 
			rows: ['2', '1'],
			getLabel: function(character, row, column) { //返回房间信息 
				return column;
			}
		},
		click: function() {
			if (this.status() == 'available') { //若为可选状态,添加响应事件
				var selectedbox = $('#room_area').find('.selected');
				if(!isEmpty(selectedbox)){
					selectedbox.click();
				}
				
				var msgHtml = '<table>'+
								'<tr>'+
						            '<th align="left"><image src="/CERPGIS/gis/images/indexlgd/water.png"/><span>水表</span></th>'+
									'<th align="left"><image src="/CERPGIS/gis/images/indexlgd/electric.png"/><span>电表</span></th>'+
									'<th align="left"><image src="/CERPGIS/gis/images/indexlgd/heat.png"/><span>热量表</span></th>'+
									'<th align="left"><image src="/CERPGIS/gis/images/indexlgd/valve.png"/><span>温控阀</span></th>'+
								'</tr>'+
								'<tr>'+
									'<td><lable>水表流量:</lable><font>130Kg</font></td>'+
									'<td><lable>电表电压:</lable><font>145V</font></td>'+
									'<td><lable>热量表温度:</lable><font>130°C</font></td>'+
									'<td><lable>温控阀状态:</lable><font>开启</font></td>'+
							    '</tr>'+
								'<tr>'+
									'<td><lable>水表流量:</lable><font>130Kg</font></td>'+
									'<td><lable>电表电压:</lable><font>145V</font></td>'+
									'<td><lable>热量表温度:</lable><font>130°C</font></td>'+
									'<td><lable>温控阀状态:</lable><font>开启</font></td>'+
							    '</tr>'+
								'<tr>'+
									'<td><lable>水表流量:</lable><font>130Kg</font></td>'+
									'<td><lable>电表电压:</lable><font>145V</font></td>'+
									'<td><lable>热量表温度:</lable><font>130°C</font></td>'+
									'<td><lable>温控阀状态:</lable><font>开启</font></td>'+
							    '</tr>'+
								'<tr>'+
									'<td><lable>水表流量:</lable><font>130Kg</font></td>'+
									'<td><lable>电表电压:</lable><font>145V</font></td>'+
									'<td><lable>热量表温度:</lable><font>130°C</font></td>'+
									'<td><lable>温控阀状态:</lable><font>开启</font></td>'+
							    '</tr>'+
							'</table>';
				$roomMsg.html(msgHtml);
				return 'selected';
			} else if (this.status() == 'selected') { //若为选中状态
				return 'available';
			}
		}
	});	
}


你可能感兴趣的:(jquery)