2017-07-01 29 views
0

我想尽量减少下面的代码,同时保持功能。 请建议我可以使用这种问题的模式。如何缩短这种类型的js代码

// tb bid pickup location picker. 
$('#--tb-bid-pickup-location').on('keyup', function() { 
    toggler.toggler('#--tb-bid-location-picker', 'pulse'); 
}); 

// tb bid drop location picker. 
$('#--tb-bid-destination-location').on('keyup', function() { 
    toggler.toggler('#--tb-bid-location-picker', 'pulse'); 
}); 

// tb bid drop location picker. 
$('#--tb-bid-vehicle-type').on('keyup', function() { 
    toggler.toggler('#--tb-bid-truck-picker', 'pulse'); 
}); 
+1

(由'分开,')和'this'在事件处理程序 –

+0

您可以运行如下的JS [这里](https://javascript-minifier.com/) –

+0

没有,我想让它更易于管理uglify不是我所需要的。 –

回答

0

怎么样创建一个“等距对象”?

2列字符串引用从点击受影响。

var equiv = { 
    "--tb-bid-pickup-location"  : "--tb-bid-location-picker", 
    "--tb-bid-destination-location" : "--tb-bid-location-picker", 
    "--tb-bid-vehicle-type"   : "--tb-bid-truck-picker" 
}; 

$("[id^='--tb-bid']").on('keyup', function() { 

    // Get the clicked ID. 
    var thisID = $(this).attr("id"); 

    // If that id exist in the equiv object. 
    if(equiv.hasOwnProperty(thisID)){ 
    toggler.toggler("#"+equiv[thisID], 'pulse'); 
    } 
}); 
使用多个选择