Вы можете загрузить проект проекта Visual Studio: https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects
Это позволит вам разверните пакет, но, на мой взгляд, это несколько багги. Кроме того, ссылка выше не содержит никакой документации. Для этого вам нужно перейти на другую страницу, и ответ похож на комментарии:
https://msdn.microsoft.com/en-us/library/ybshs20f (v = vs. 90) .aspx
Однако ClickOnce работал более последовательно для нас. Просто щелкните правой кнопкой мыши и выберите «Опубликовать в проекте».
Это долгий путь от старого процесса InstallShield LE, который позволил вам настроить весь процесс, включая изображения, лицензирование по кликам и т. Д.
Но у InstallShield LE был свой собственный набор проблем, и, похоже, он был полностью заброшен.
Возможно, стоит посмотреть на другие сторонние инструменты, такие как WiX ( http://wixtoolset.org/), чтобы все было правильно установлено, или даже вручную написание собственного установщика, чтобы все было на месте, где они должны быть.
Вы не можете использовать e.preventDefault()
в событии keyup
. Измените его на keydown
.
$(function () {
$("input[id*='txtQty']").keydown(function (event) {
if (event.shiftKey == true) {
event.preventDefault();
}
if ((event.keyCode >= 48 && event.keyCode <= 57) ||
(event.keyCode >= 96 && event.keyCode <= 105) ||
event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 ||
event.keyCode == 39 || event.keyCode == 46 || event.keyCode == 190) {
} else {
event.preventDefault();
}
if($(this).val().indexOf('.') !== -1 && event.keyCode == 190)
event.preventDefault();
//if a decimal has been added, disable the "."-button
});
});
Мое решение принимает Copy & amp; Paste и сохраняет положение каретки. Он используется для стоимости продуктов, поэтому позволяет использовать только положительные десятичные значения. Может быть рефактористом очень легко разрешить отрицательные или целые цифры.
$(function () {
$("input.only-positive-decimal").bind("change keyup input", function () {
var position = this.selectionStart - 1;
//remove all but number and .
var fixed = this.value.replace(/[^0-9\.]/g, '');
if (fixed.charAt(0) === '.') //can't start with .
fixed = fixed.slice(1);
var pos = fixed.indexOf(".") + 1;
if (pos >= 0) //avoid more than one .
fixed = fixed.substr(0, pos) + fixed.slice(pos).replace('.', '');
if (this.value !== fixed) {
this.value = fixed;
this.selectionStart = position;
this.selectionEnd = position;
}
});
});
Поместите на страницу html:
<input type="text" class="only-positive-decimal" />
Вы можете попробовать http://www.texotela.co.uk/code/jquery/numeric/
В этой теме упоминается тот же плагин вместе с кучей других вещей, которые вы могли бы попробовать.
Попробуйте этот код
$('#from-amount1').keypress(function(event) {
//alert(event.which == 8);
//alert(event.which);
if((event.which > 47 && event.which < 58) || (event.which == 46 || event.which == 8))
{
// your condition
}
else
{
event.preventDefault();
}
}).on('paste', function(event) {
event.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<input type="text" value="" id="from-amount1"/>
Создайте класс только для числа и добавьте его в свой элемент
. Это будет принимать: - backspace - delete - numbers - один десятичный символ
$(".numbers-only").keypress(function (e) {
if(e.which == 46){
if($(this).val().indexOf('.') != -1) {
return false;
}
}
if (e.which != 8 && e.which != 0 && e.which != 46 && (e.which < 48 || e.which > 57)) {
return false;
}
});
$('.number').keypress(function(event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
Это решение применимо только в том случае, если вы не указали десятичное число или только номер от 0 до 9
$("#number").keypress(function( event ){
var key = event.which;
if( ! ( key >= 48 && key <= 57 ) )
event.preventDefault();
});
, вы можете просмотреть текущий образец здесь http://jsfiddle.net/ yghD3 / 6 /
element.keypress(function (e) {
var charCode = (e.which) ? e.which : event.keyCode;
var dec=0;
dec = (this.value.match(/[.]/g) || [] ).length;
if(dec===1 && e.key=='.')
return false;
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode!=46)
return false;
});
//This will let you enter numbers only and the decimal point ones.
$(window).load(function(){
$('.number').keypress(function(event) {
if(event.which < 46 || event.which >= 58 || event.which == 47) {
event.preventDefault();
}
if(event.which == 46 && $(this).val().indexOf('.') != -1) {
this.value = '' ;
}
});
});
Вы можете удалить ненулевой символ при нажатии клавиши
$("#txtQty").keyup(function() {
var $this = $(this);
$this.val($this.val().replace(/[^\d.]/g, ''));
});
$(this).val().indexOf('.') !== -1 &&
– Johan 11 October 2012 в 20:14