Ответ 1
Причина
Причина этого заключается в том, что холст прозрачен. Однако цвет прозрачности черный с прозрачным альфа-каналом, поэтому он не будет отображаться на экране.
JPEG с другой стороны не поддерживает альфа-канал, так что черный цвет, который по умолчанию лишен своего альфа-канала, оставляет черный фон.
Вы PNG поддерживает альфа-канал, поэтому он совместим с тем, как работает холст.
Решение
Чтобы обойти это, вам придется вручную рисовать на белом фоне на холсте, прежде чем рисовать на изображении:
var canvas = $('.jSignature')[0];
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#fff'; /// set white fill style
ctx.fillRect(0, 0, canvas.width, canvas.height);
/// draw image and then use toDataURL() here